Il blog di DiRete

Cambiare il DNS di tanti PC, script e un nuovo amico

Un cliente che non può usare il DHCP aveva l’esigenza di cambiare l’IP di tanti PC. Ci sono diversi modi:

1) Il classico

netsh interface ip set dns “Local Area Connection” static 192.168.10.10 primary

2) Uno script Visual Basic che lavora sulle chiavi di registro.

da lanciare con il comando

cscript nome_script.vbs

3) Uno script Visual Basic più elegante

On Error Resume Next

Const FULL_DNS_REGISTRATION = True
Const DOMAIN_DNS_REGISTRATION = False

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colNetCards = objWMIService.ExecQuery _
    ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")

For Each objNetCard in colNetCards
    objNetCard.SetDynamicDNSRegistration FULL_DNS_REGISTRATION, _
        DOMAIN_DNS_REGISTRATION
Next

Se volete approfondire c’è anche una pagina per partire da zero e tanti altri script per il networking da provare.

4) C’è un altro sistema molto simpatico che, francamente, non conoscevo: il WMIC (Windows Managment Instrumentation Command-line). Va in realtà bene per un solo PC ma permette di lanciare tanti altri comandi remoti. C’è un blog che spiega come usarlo. E se gradite ci sono un po’ di esempi da scopiazzare.