0Batch-Skript zum Umbenennen des PCs basierend auf dem reservierten DHCP-Namen

Ich verwende WDS auf einem eigenständigen Server, um neue einzurichten PCs und neu zu bebildern PCs wenn sie irreparabel verstümmelt sind. Mit einer guten Anzahl von PCs In meinem eigenen Haus ist es nützlich, sie gelegentlich beim Austausch oder Upgrade von Hardware neu abzubilden. Der größte Teil dieses Prozesses wird jetzt durch eine Datei unattend.xml automatisiert, aber ein Schritt, den der unbeaufsichtigte Prozess anscheinend nicht unterstützt, ist das Umbenennen PCs zurück zu ihrem ursprünglichen Namen.

Alle meine PCs haben statische DHCP-Reservierungen mit ihrem korrekten Hostnamen (die auch registriert ist in DNS) Also dachte ich mir, dass es eine Möglichkeit geben muss, diese Informationen abzurufen und sie zum Umbenennen zu verwenden. Nach langem Herumtüfteln habe ich ein Batch-Skript erstellt, das dies tut (wenn als admin ausgeführt).

Fügen Sie einfach den folgenden Code in eine .cmd-Datei ein und führen Sie ihn als Teil Ihres unbeaufsichtigten Prozesses aus (Ich beschreibe meine unten)

@echo aus
set ip_address_string="IPv4-Adresse"
FÜR /F "usebackq" %%ich IN (`Hostname`) SETZEN SIE MYVAR=%%i
für /f "usebackq-Token=2 Delims=:" %%f in (`ipconfig ^| findstr /c:%ip_address_string%`) tun (
    für /f "usebackq-Token=2 Delims=:" %%Gin (`nslookup %%f ^| findstr /c:Name`) tun (
        für /F "tokens=1 delims=." %%ein in ("%%G") tun (
            für /F "Token=1 Delims= " %%Behälter ("%%ein") tun (
                WMIC ComputerSystem wobei Name="%myvar%" call Name umbenennen="%%b"
                goto :eof
            )
        )
    )
)

Ich rufe mein Skript von der <FirstLogonCommands> Abschnitt von ImageUnattend.xml.

<SynchronousCommand wcm:Aktion="hinzufügen">
  <Auftrag>5</Auftrag>
  <Beschreibung>System umbenennen</Beschreibung>
  <Befehlszeile>c:\Extraselevate -c c:\extrasrename-pc-from-dns.cmd</Befehlszeile>
</Synchroner Befehl>

Um es als Admin auszuführen, verwende ich ein kleines Dienstprogramm (namens elevate.exe) das macht das (Befehle, die während des Setups ausgeführt werden, können erhöht werden, ohne dass eine Eingabeaufforderung angezeigt wird!). Sie können es von ihm bekommen Originalquelle

Das letzte Puzzleteil für mein Setup besteht darin, dass ich das Windows-Installationsabbild so ändere, dass es eine exe-Datei und ein kleines Powereershell-Skript enthält – diese erlauben das Kopieren aller anderen Installer aus dem Netzwerk. Die exe-Datei ist ‘Bäche‘ was ist ein sysinternals (jetzt Teil von Microsoft) Dienstprogramm zum Entfernen der “Diese Datei stammt aus dem Internet. Sind Sie sicher, dass Sie sie ausführen möchten?” Warnung.

Ich habe auch das folgende Skript als .ps1-Datei

copy-item -Pfad \wds-serverRemInstCustom*.* -Ziel C:\Extras

Mein erstes 4 LogonCommands lauten dann wie folgt…

<SynchronousCommand wcm:Aktion="hinzufügen">
  <Auftrag>1</Auftrag>
  <Beschreibung>Kein Standby während der Einrichtung</Beschreibung>
  <Befehlszeile>powercfg -change standby-timeout-ac 0</Befehlszeile>
</Synchroner Befehl>
<SynchronousCommand wcm:Aktion="hinzufügen">
  <Auftrag>2</Auftrag>
  <Beschreibung>Anmeldedaten für den Zugriff auf den Server über das Netzwerk hinzufügen</Beschreibung>
  <Befehlszeile>cmdkey /add:wds-server /user:wds-serveradministrator /pass:Passwort123</Befehlszeile>
</Synchroner Befehl>
<SynchronousCommand wcm:Aktion="hinzufügen">
  <Auftrag>3</Auftrag>
  <Beschreibung>Kopieren Sie Skripte und Apps aus dem Netzwerk in den Extras-Ordner</Beschreibung>
  <Befehlszeile>C:\WindowsSystem32WindowsPowerShellv1.0powershell.exe -windowstyle hidden -ExecutionPolicy ByPass -File C:\Extras  copyapps.ps1</Befehlszeile>
</Synchroner Befehl>
<SynchronousCommand wcm:Aktion="hinzufügen">
  <Auftrag>4</Auftrag>
  <Beschreibung>Internetwarnung von kopierten Apps entfernen</Beschreibung>
  <Befehlszeile>C:\Extras  Streams64.exe -d -d -nobanner C:\Extras*.* /accepteula</Befehlszeile>
</Synchroner Befehl>

Ich fand dieses nützlich? Bitte lassen Sie uns wissen, indem Sie einen Kommentar unten fallen. Wenn Sie bitte abonnieren möchten den Link oben rechts auf dem Menü abonnieren verwenden. Sie können auch unten unter Verwendung der sozialen Bindungen diese mit Ihren Freunden teilen. Prost.

Hinterlasse eine Antwort