[Win32/CMD] resolve computername from dns

Pagina: 1
Acties:
  • 746 views sinds 30-01-2008
  • Reageer

  • donderdraak
  • Registratie: Juni 2002
  • Laatst online: 09-07-2017
De titel geeft al aan wat ik probeer te doen maar ik zal bij het begin beginnen.

In mijn test unattended moet momenteel nog handmatig een computernaam worden opgeven via de batchfile, daarna kan de unattended een computer zelf laten aanmelden op een test domein. Zie code:
@echo off
set /p Name="Enter the new computer name:"
set /p DUser="Enter the domain:"
set /p DDomein="Enter the domain user:"
set /p DPass="Enter the domain user:"


REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %Name% /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %Name% /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %Name% /f
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %Name% /f

netdom add %Name% /domain:%DDomein% /userd:%DUser% /passwordd:%DPass%
netdom join %Name% /domain:%DDomein% /userd:%DUser% /passwordd:%DPass%

:END

Aangezien ik het uiterste van de unattended wil halen, lijkt het me leuk om het aanmelden van computers te laten automatiseren. Na lang twijfelen heb ik besloten om een aparte account aan te maken dat het recht heeft om account te joinen aan het domein, dit account zal ergens "op een geheim plekje" als variable komen te staan.

Nu mijn echte vraag is, dat ik wil proberen om het invoeren van de computernaam te automatiseren:
Ik wil een methode bijhouden om de variabel %computernaam% in relatie te houden aan een IP-nummer.
Om een computernaam te genereren moet de waarde van 200 bij het 4e octet van het IP nummer worden opgetelt, voorbeeld:
IP 10.0.0.200 = Werkstation400
IP 10.0.0.201 = Werkstation401
IP 10.0.0.202 = Werkstation402
IP 10.0.0.203 = Werkstation4...

In mijn test omgeving moet ik eerst een MAC adres toegevoegen in de DHCP. Het zou mogelijk moeten zijn om met Reverse DNS de gegevens automatisch ergens laten parsen.

Een variable uit Ipconfig
Ik ben er nog niet achter hoe ik aan een %IPCONFIG% variabel kom, maar stel dat op de UnattendedCD een excel file staat met overzicht van beschikbare computernamen voor mijn domein. Dan kan de unattended met het IF statement een toegekregen ip laten vergelijken met de computernaam uit het lijstje.

Ik ben even op goede met ideëen... welke andere opties heb ik nog meer, of heeft iemand misschien een ander idee?

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

ja, RIS gebruiken :P

Neemt een boel van je moeite weg (auto-naming van clients, en ze zitten gelijk in je domain in de OU die je opgeeft).

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • donderdraak
  • Registratie: Juni 2002
  • Laatst online: 09-07-2017
Inmiddels is het probleem door mezelf verholpen!
Ik heb namelijk de volgende batchfile geschreven:

Gebruik: NIC moet een IP krijgen van DHCP. Unattended installeerd Windows. XP start runonce. Runonce start de batchfile... Batchfile parst het IP vanuit "ipconfig /all" - deze wordt naar een variabel omgezet. Daarna wordt het getal 200 bij het 4e octet van hetzelfde IP opgeteld en geparst als variable voor Computernaam. Met het commando "REG add" wordt de correcte computernaam in de registry gezet.

@echo off
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG /ALL ^| FIND "IP Address"') DO FOR %%B IN (%%A) DO SET IPADDR=%%B
ECHO.%IPADDR%
FOR /F "TOKENS=4* DELIMS=." %%C in ('ECHO.%IPADDR%') DO SET /a PC=%%C+200
REG add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %pc% /f
REG add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %pc% /f
REG add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %pc% /f
REG add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %pc% /f

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Maar waarom zo moeilijk? Ik bedoel, RIS kan dit automatisch voor je, en als je nu een subnet hebt dat groter is dan een /24 heb je problemen in jouw setup :P