0Script batch per rinominare il PC in base al nome DHCP riservato

Uso WDS su un server standalone per configurarne uno nuovo PC e per reimmaginare PC quando sono finiti mutilati in modo irreparabile. Con un buon numero di PC a casa mia è utile ricrearli di tanto in tanto durante lo scambio o l'aggiornamento dell'hardware. La maggior parte di questo processo è ora automatizzato da un file unattend.xml ma un passaggio che il processo automatico non sembra supportare è la ridenominazione PC tornano al loro nome originale.

Tutto il mio PC have stat­ic DHCP reser­va­tions with their cor­rect host­name (che è anche registrato in 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 (quando eseguito come amministratore).

Simple paste the fol­low­ing code into a .cmd file and run it as part of your unat­ten­ded pro­cess (Descrivo il mio qui sotto)

@echo off
set ip_address_string="Indirizzo IPv4"
PER /F "usebackq" %%io IN (`nome host`) DO SET MYVAR=%%i
for /f "usebackq token=2 delim=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) fare (
    per /f "usebackq token=2 delim=:" %%Gin (`nslookup %%f ^| findstr /c:Nome`) fare (
        per /F "token=1 delimitazioni=." %%un in ("%%g") fare (
            per /F "token=1 delimitazioni= " %%bidone ("%%un") fare (
                Sistema informatico WMIC dove Nome="%miavar%" chiama Rinomina Nome="%%b"
                goto :eof
            )
        )
    )
)

Chiamo il mio script dal <FirstLogonCommands> sec­tion of ImageUnattend.xml.

<SynchronousCommand wcm:azione="aggiungere">
  <Ordine>5</Ordine>
  <Descrizione>Rinomina sistema</Descrizione>
  <Riga di comando>c:\extraelevate -c c:\extrarinomina-pc-da-dns.cmd</Riga di comando>
</Comando sincrono>

To run it as admin I use a little util­ity (chiamato elevate.exe) che fa questo (com­mands run dur­ing setup can elev­ate without pop­ping up a prompt!). Puoi ottenerlo da it's fonte originale

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 ‘torrenti’ which is a sys­in­tern­als (ora parte di Microsoft) 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:\Extra

Il mio primo 4 Logon­Com­mands are then as follows…

<SynchronousCommand wcm:azione="aggiungere">
  <Ordine>1</Ordine>
  <Descrizione>Nessuno standby durante la configurazione</Descrizione>
  <Riga di comando>powercfg -change standby-timeout-ac 0</Riga di comando>
</Comando sincrono>
<SynchronousCommand wcm:azione="aggiungere">
  <Ordine>2</Ordine>
  <Descrizione>Aggiungi le credenziali per l'accesso al server via rete</Descrizione>
  <Riga di comando>tasto cmd/aggiungi:wds-server /utente:wds-serveradministrator /pass:password123</Riga di comando>
</Comando sincrono>
<SynchronousCommand wcm:azione="aggiungere">
  <Ordine>3</Ordine>
  <Descrizione>Copia script e app dalla rete alla cartella Extra</Descrizione>
  <Riga di comando>C:\WindowsSystem32WindowsPowerShellv1.0powershell.exe -windowstyle nascosto -ExecutionPolicy ByPass -File C:\Extra  copyapps.ps1</Riga di comando>
</Comando sincrono>
<SynchronousCommand wcm:azione="aggiungere">
  <Ordine>4</Ordine>
  <Descrizione>Rimuovi l'avviso Internet dalle app copiate</Descrizione>
  <Riga di comando>C:\Extra  Streams64.exe -d -d -nobanner C:\Extra*.* /accepteula</Riga di comando>
</Comando sincrono>

Credo che abbiamo perso qualcosa? Fateci sapere commentando qui sotto. Se si desidera iscriversi si prega di utilizzare il link iscriviti sul menu in alto a destra. È inoltre possibile condividere con i tuoi amici usando i link sottostanti sociali. Saluti.

lascia un commento