0予約された DHCP 名に基づいて PC の名前を変更するバッチ スクリプト

スタンドアロン サーバーで WDS を使用して、新しいサーバーをセットアップします。 パソコン そして再イメージ化する パソコン 修理できないほど壊れてしまったとき. かなりの数の パソコン 私の家では、ハードウェアを交換またはアップグレードするときに、それらを時々再イメージ化すると便利です。. 現在、このプロセスのほとんどは unattend.xml ファイルによって自動化されていますが、無人プロセスがサポートしていないように見える 1 つのステップは、名前の変更です。 パソコン 元の名前に戻る.

私のすべて パソコン have stat­ic DHCP reser­va­tions with their cor­rect host­name (にも登録されている DNS) so I figured there must be a way to pull this inform­a­tion and use it to rename them. After much fid­dling about I have pro­duced a batch script that will do this (管理者として実行する場合).

Simple paste the fol­low­ing code into a .cmd file and run it as part of your unat­ten­ded pro­cess (以下に私のものを説明します)

@echo off
set ip_address_string="IPv4アドレス"
FOR /F "usebackq" %%私は (「ホスト名」) DO SET MYVAR=%%i
for /f "usebackq トークン=2 delims=:" %%で (`ipconfig ^| findstr /c:%ip_address_string%`) 行う (
    /f の場合 "usebackq トークン=2 delims=:" %%ジン (`nslookup %%f ^| findstr /c:名前`) 行う (
        /F用 "tokens=1 delims=。" %%で ("%%G") 行う (
            /F用 "トークン=1 delims= " %%置き場 ("%%NS") 行う (
                WMIC ComputerSystem where Name="%myvar%" 名前の変更を呼び出します="%%B"
                後藤 :eof
            )
        )
    )
)

からスクリプトを呼び出します <FirstLogonCommands> sec­tion of ImageUnattend.xml.

<同期コマンド wcm:アクション="加える">
  <注文>5</注文>
  <説明>システムの名前変更</説明>
  <コマンドライン>C言語:\エクストラelevate -c c:\extrasrename-pc-from-dns.cmd</コマンドライン>
</同期コマンド>

To run it as admin I use a little util­ity (elevate.exe と呼ばれる) それはこれを行う (com­mands run dur­ing setup can elev­ate without pop­ping up a prompt!). から入手できます オリジナルのソース

The final piece of the puzzle for my setup is that I modi­fy the win­dows install image to include an exe file and a little poweer­shell script — these allow the copy­ing of all the oth­er installers from the net­work. The exe file is ‘ストリーム’ which is a sys­in­tern­als (現在はマイクロソフトの一部) util­ity to remove the “this file came from the inter­net are you sure you want to run it” warning.

I also have the fol­low­ing script as a .ps1 file

copy-item -Path \wds-serverRemInstCustom*.* -Destination C:\エクストラ

私の最初の 4 Logon­Com­mands are then as follows…

<同期コマンド wcm:アクション="加える">
  <注文>1</注文>
  <説明>セットアップ中はスタンバイなし</説明>
  <コマンドライン>powercfg -change スタンバイ-タイムアウト-ac 0</コマンドライン>
</同期コマンド>
<同期コマンド wcm:アクション="加える">
  <注文>2</注文>
  <説明>ネットワーク経由でサーバーにアクセスするための資格情報を追加します</説明>
  <コマンドライン>cmdkey /add:wds サーバー/ユーザー:wds-serveradministrator /pass:パスワード123</コマンドライン>
</同期コマンド>
<同期コマンド wcm:アクション="加える">
  <注文>3</注文>
  <説明>スクリプトとアプリをネットワークからエクストラ フォルダーにコピーする</説明>
  <コマンドライン>C言語:\WindowsSystem32WindowsPowerShellv1.0powershell.exe -windowstyle 隠し -ExecutionPolicy ByPass -ファイル C:\おまけcopyapps.ps1</コマンドライン>
</同期コマンド>
<同期コマンド wcm:アクション="加える">
  <注文>4</注文>
  <説明>コピーしたアプリからインターネット警告を削除</説明>
  <コマンドライン>C言語:\エクストラ  Streams64.exe -d -d -nobanner C:\エクストラ*.* /accepteula</コマンドライン>
</同期コマンド>

私たちが何かを逃したと思います? 私たちは以下のコメントで教えてください. あなたが購読したい場合は、右上のメニューで購読リンクをご利用ください. また、下記の社会的なリンクを使用してお友達とこれを共有することができます. 乾杯.

返信を残す