VBScript取PC名称,删除任何不是字母或数字的东西(即A-BC-123 - > ABC123)

时间:2013-06-27 17:26:27

标签: vbscript rename pc

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

示例:

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

1 个答案:

答案 0 :(得分:1)

您可以使用Rename WMI类的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"

我认为您之后不需要将系统重新加入域中,但是如果这样做,则可以使用相同WMI类的JoinDomainOrWorkgroup方法执行此操作。