0根据保留的 DHCP 名称重命名 PC 的批处理脚本

I use WDS on a stan­dalone serv­er to set up new 电脑 and to reim­age 电脑 when they have ended up mangled bey­ond repair. With a good num­ber of 电脑 in my own house it is use­ful to reim­age them oca­sion­ally when swap­ping or upgrad­ing hard­ware. Most of this pro­cess is now auto­mated by an unattend.xml file but one step the unat­ten­ded pro­cess does­n’t seem to sup­port is renam­ing 电脑 back to their ori­gin­al name.

我的所有 电脑 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地址"
为/F "使用backq" %%输入 (`主机名`) DO SET MYVAR=%%i
for /f "usebackq 令牌=2 delims=:" %%输入 (`ipconfig ^| 查找字符串 /c:%ip_address_string%`) 做 (
    对于 /f "usebackq 令牌=2 delims=:" %%杜松子酒 (`nslookup %%f ^| 查找字符串 /c:姓名`) 做 (
        对于 /F "令牌=1 delims=。" %%一进 ("%%G") 做 (
            对于 /F "代币=1 delims= " %%输入 ("%%一") 做 (
                WMIC ComputerSystem 其中 Name="%米瓦%" 调用重命名名称="%%b"
                去 :eof
            )
        )
    )
)

我从 <FirstLogonCommands> sec­tion of ImageUnattend.xml.

<同步命令 wcm:动作="加">
  <命令>5</命令>
  <描述>重命名系统</描述>
  <命令行>Ç:\附加提升 -c c:\附加重命名-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 -更改待机超时-交流 0</命令行>
</同步命令>
<同步命令 wcm:动作="加">
  <命令>2</命令>
  <描述>添加凭据以通过网络访问服务器</描述>
  <命令行>cmd键/添加:wds-服务器/用户:wds-serveradministrator/pass:密码123</命令行>
</同步命令>
<同步命令 wcm:动作="加">
  <命令>3</命令>
  <描述>将脚本和应用程序从网络复制到 extras 文件夹</描述>
  <命令行>Ç:\WindowsSystem32WindowsPowerShellv1.0powershell.exe -windowstyle hidden -ExecutionPolicy ByPass -File C:\附加  copyapps.ps1</命令行>
</同步命令>
<同步命令 wcm:动作="加">
  <命令>4</命令>
  <描述>从复制的应用程序中删除互联网警告</描述>
  <命令行>Ç:\附加  Streams64.exe -d -d -nobanner C:\附加*.* /accepteula</命令行>
</同步命令>

有你自己的一些想法? 下面放纵自己通过评论! 如果您想订阅,请使用菜单上的订阅链接右上方. 您还可以通过使用下面的链接社会分享这与你的朋友. 干杯.

发表评论