3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Windows】PCキッティング用スクリプト【bat】

Last updated at Posted at 2021-03-31

WindowsPCを大量にキッティングすることになったため、組み上げたスクリプトになります。

スクリプト内容は以下の通りです。

Ver1.1β

Windowsライセンスユーザと組織名の登録もついでにできるようにした

1.コンピュータ名の登録
2.IPアドレス(IPv4)の設定
3.DNSの設定
4.Windowsライセンスユーザと組織名の登録
5.設定したログの取得
 ①ネットワークアダプタ設定の取得
 ②MACアドレスの取得
6.再起動

WindowsSetupScript.bat
@echo off
REM ===========================================================
REM 制作日:2021.03.28
REM 製作者:海里
REM バージョン:1.1β
REM Windowsキッティング用スクリプト
REM WindowsPC設定bat
REM ===========================================================

REM 変数========================================================
REM コンピュータ情報
set PCName="ComputerName001"

REM ネットワーク情報
set IPAddress="xxx.xxx.xxx.xxx"
set SubnetMask="xxx.xxx.xxx.xxx"
set DefaultGateway="xxx.xxx.xxx.xxx"

REM DNS情報
set DNS1="xxx.xxx.xxx.xxx"
set DNS2="xxx.xxx.xxx.xxx"

REM === Windowsライセンスユーザ情報 ===
set RegPath="HKLM\Software\Microsoft\Windows NT\CurrentVersion"
set RegOrga="WindowsUser"
set RegOwnr="WindowsUser"

REM === ログ保存先情報 ===
set LogFileName="SetupComputer.log"
set LogSavePath="C:\"
REM ===========================================================

set Log=%LogSavePath%%LogFileName%

REM 開始日時情報の取得(タイムスタンプ)
REM 日付情報の取得
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%

REM 時刻の取得
set hr=%time:~0,2%
set min=%time:~3,2%
set sec=%time:~6,2%
echo "開始日時" >> %Log%
echo %year%.%month%.%day% >> %Log%
echo %hr%:%min%:%sec%  >> %Log%

REM コンピュータ名の設定
wmic computersystem where name="%COMPUTERNAME%" call rename name=%PCName% >> %Log%

REM ネットワークアダプタの設定
netsh interface ip set address "イーサネット" static %IPAddress% %SubnetMask% %DefaultGateway%  >> %Log%

REM プライマリDNSの設定
netsh interface ip set dns "イーサネット" static %DNS1% primary no >> %Log%
REM セカンダリDNSの設定
netsh interface ip add dns "イーサネット" %DNS2% >> %Log%

netsh interface ip show config "イーサネット" >> %Log%
getmac >> %Log%
getmac /v /fo list  >> %Log%

REM Windowsライセンスユーザの登録
reg add %RegPath% /v RegisterdOrganization /t REG_SZ /d %RegOrga% /f
reg add %RegPath% /v RegisterdOwner /t REG_SZ /d %RegOwnr% /f

REM 終了日時情報の取得(タイムスタンプ)
REM 日付情報の取得
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%

REM 時刻の取得
set hr=%time:~0,2%
set min=%time:~3,2%
set sec=%time:~6,2%
echo "終了日時" >> %Log%
echo %year%.%month%.%day% >> %Log%
echo %hr%:%min%:%sec%  >> %Log%

REM 再起動処理
shutdown /r /t 3

exit

Ver1.0β

1.コンピュータ名の登録
2.IPアドレス(IPv4)の設定
3.DNSの設定
4.設定したログの取得
 ①ネットワークアダプタ設定の取得
 ②MACアドレスの取得
5.再起動

WindowsSetupScript.bat
@echo off
REM ===========================================================
REM 制作日:2021.03.28
REM 製作者:海里
REM バージョン:1.0β
REM Windowsキッティング用スクリプト
REM WindowsPC設定bat
REM ===========================================================

REM 変数========================================================
REM コンピュータ情報
set PCName="ComputerName001"

REM ネットワーク情報
set IPAddress="xxx.xxx.xxx.xxx"
set SubnetMask="xxx.xxx.xxx.xxx"
set DefaultGateway="xxx.xxx.xxx.xxx"

REM DNS情報
set DNS1="xxx.xxx.xxx.xxx"
set DNS2="xxx.xxx.xxx.xxx"

REM === ログ保存先情報 ===
set LogFileName="SetupComputer.log"
set LogSavePath="C:\"
REM ===========================================================

set Log=%LogSavePath%%LogFileName%

REM 開始日時情報の取得(タイムスタンプ)
REM 日付情報の取得
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%

REM 時刻の取得
set hr=%time:~0,2%
set min=%time:~3,2%
set sec=%time:~6,2%
echo "開始日時" >> %Log%
echo %year%.%month%.%day% >> %Log%
echo %hr%:%min%:%sec%  >> %Log%

REM コンピュータ名の設定
wmic computersystem where name="%COMPUTERNAME%" call rename name=%PCName% >> %Log%

REM ネットワークアダプタの設定
netsh interface ip set address "イーサネット" static %IPAddress% %SubnetMask% %DefaultGateway%  >> %Log%

REM プライマリDNSの設定
netsh interface ip set dns "イーサネット" static %DNS1% primary no >> %Log%
REM セカンダリDNSの設定
netsh interface ip add dns "イーサネット" %DNS2% >> %Log%

netsh interface ip show config "イーサネット" >> %Log%
getmac >> %Log%
getmac /v /fo list  >> %Log%

REM 終了日時情報の取得(タイムスタンプ)
REM 日付情報の取得
set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%

REM 時刻の取得
set hr=%time:~0,2%
set min=%time:~3,2%
set sec=%time:~6,2%
echo "終了日時" >> %Log%
echo %year%.%month%.%day% >> %Log%
echo %hr%:%min%:%sec%  >> %Log%

REM 再起動処理
shutdown /r /t 3

exit

set関数で変数を設定しているので端末単位で情報を変数に入れれば、
手間のかかるGUI操作をしなくて済みます。

PCキッティング等、システム運用者であれば扱いやすいスクリプトかと思います。
Windows系であればサーバの構築にも使えると思います。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?