0

我和非程序员会很感激一些帮助,VBScript以从 PC 名称中删除任何不是字母或数字的内容并存储修改后的名称。然后加入或重新加入域。

例子:

pc name: pc-home-543
rename: pchome543
join domain: homeworkplay
restart and it all works
4

1 回答 1

1

您可以使用WMI 类的Rename方法重命名计算机。Win32_ComputerSystem要替换非字母数字字符,请使用正则表达式。

Set net = CreateObject("WScript.Network")
Set wmi = GetObject("winmgmts://./root/cimv2")

Set re = New RegExp
re.Pattern = "[^a-z0-9]*"
re.Global  = True
re.IgnoreCase = True

For Each sys In wmi.ExecQuery("SELECT * FROM Win32_ComputerSystem")
  sys.Rename re.Replace(net.ComputerName, "")
Next

您需要重新启动计算机才能使名称更改生效:

CreateObject("WScript.Shell").Run "shutdown -r -t 0"

我认为您不需要在之后将系统重新加入域,但如果您这样做,您可以使用JoinDomainOrWorkgroup同一个 WMI 类的方法来完成。

于 2013-06-27T19:08:03.843 回答