Kategorie: Skripty CMD / BAT / VBS

VBS - Změna názvu počítače

Skript pro zautomatizování této zdánlivě jednoduché operace.

Tento skript využívá třídu Win32_ComputerSystem, která představuje samotný počítač s Windows. Problematické části lze shrnout takto:
  • Skript musí být spuštěn s právy administrátora
  • Je-li počítač již připojen v doméně, potřebuje skript přihlašovací údaje doménového administrátora
  • Změna názvu počítače se projeví až po jeho restartu
Jako vstupní parametr je potřeba uvést nový název počítače a pokud je počítač připojený do domény, tak i přihlašovací údaje doménového administrátora. Můžete je nastavit natvrdo do skriptu, jak je to naznačeno níže, nebo je posílat jako argument příkazového řádku. Samozřejmě je možné údaje načíst i graficky, ale skript pak víceméně postrádá smysl. Pokud počítač není připojen k doméně, nastavte Username i Password na NULL
Name = "NovyNazevPocitace"
Username = "PrihlasovaciJmenoDomenovehoAdministratora"
Password = "HesloDomenovehoAdministratora"

Set objWMIService = GetObject("Winmgmts:root\cimv2")
For Each objComputer in _
 objWMIService.InstancesOf("Win32_ComputerSystem")
 Return = objComputer.rename(Name,Password,Username)
 If Return <> 0 Then
  WScript.Echo "Zmena nazvu pocitace se nezdarila!"
  WScript.Echo "Kod chyby: " & Err.Number
 Else
  WScript.Echo "Prejmenovani bylo uspesne"
 End If
Next
Pro fungování skriptu je třeba Windows XP nebo Windows Server 2003 nebo novější.

Vylepšený skript pro udržování správného názvu počítače

Následující skript změní jméno počítače pouze pokud ještě není nastaveno a pokud ho změní, ihned restartuje počítač. Můžete ho tedy bezpečně nechat spouštět po startu počítače. Pro ladění je možné odkomentovat ladící hlášky.
Name = "NovyNazevPocitace"
Username = "PrihlasovaciJmenoDomenovehoAdministratora"
Password = "HesloDomenovehoAdministratora"

Set objWMIService = GetObject("Winmgmts:root\cimv2")
For Each objComputer in _
 objWMIService.InstancesOf("Win32_ComputerSystem")
  If objComputer.Name <> Name Then
   Return = objComputer.rename(Name,Password,Username)
   If Return <> 0 Then
    WScript.Echo "Zmena nazvu pocitace se nezdarila!"
    WScript.Echo "Kod chyby: " & Err.Number
   Else
    'WScript.Echo "Prejmenovani bylo uspesne, nasleduje restart"
    Set WSHShell = WScript.CreateObject("WScript.Shell")
    WshShell.Run "C:\WINDOWS\system32\shutdown.exe -r -t 0"
   End If
  Else
   'WScript.Echo "Pocitac se takto jiz jmenuje"
  End If
Next

Komentáře


Nebyly přidány žádné komentáře.