' Kod zmienia nazw konta komputera w bazie usugi Active Directory, a take
' w systemie nazw samego komputera. Poniewa metoda Rename() pojawia si w systemie
' Windows XP, kod jest zgodny tylko z nim i systemem Windows Server 2003.
' ------ KONFIGURACJA SKRYPTU ------
strComputer     = "<NazwaKomputera>"                 ' np. jan-xp
strNewComputer  = "<NowaNazwaKomputera>"             ' np. jan-pc
strDomainUser   = "<GwnaNazwaUytkownikaDomeny>"   ' np. administrator@rallencorp.com
strDomainPasswd = "<HasoUytkownikaDomeny>"
strLocalUser    = "<AdministratorKomputera>"         ' np. jan-xp\administrator
strLocalPasswd  = "<HasoAdministratoraKomputera>"
' ------ KONIEC KONFIGURACJI ---------

'###########################
' Poczenie z komputerem
'###########################
set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
objWMILocator.Security_.AuthenticationLevel = 6
set objWMIComputer = objWMILocator.ConnectServer(strComputer,  _
                                                 "root\cimv2", _
                                                  strLocalUser, _
                                                  strLocalPasswd)
set objWMIComputerSystem = objWMIComputer.Get( _
                               "Win32_ComputerSystem.Name='" & _
                               strComputer & "'")
'###########################
' Zmiana nazwy komputera
'###########################
rc = objWMIComputerSystem.Rename(strNewComputer, _
                                 strDomainPasswd, _
                                 strDomainUser)
if rc <> 0 then
    WScript.Echo "Podczas zmiany nazwy komputera wystpi bd: " & rc
else
    WScript.Echo "Z powodzeniem nazw komputera " & strComputer & " zmieniono na " & _
                 strNewComputer
end if

WScript.Echo "Ponowne uruchamianie..."
objWSHShell.Run "shutdown.exe /r"
