我正在尝试制作一个脚本,将PC重命名为序列号。我对VB不太满意,但我已经能够将足够的代码放在一起读取序列号,但我不知道在哪里写它。
以下是我目前的情况:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colBIOS = objWMIService.ExecQuery("Select * from Win32_BIOS")
For each objBIOS in colBIOS
WScript.Echo "SERIAL=" & objBIOS.SerialNumber
Next
提前感谢您的帮助!
答案 0 :(得分:0)
我怀疑你可以通过WMI更改计算机名称。有一个Windows API调用here。
答案 1 :(得分:0)
您可以更改编辑Windows注册表的计算机名称。 请谨慎使用此代码。
此代码仅用于教育目的,我建议您使用SetComputerNameEx函数而不是脚本来执行这些任务
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colBIOS = objWMIService.ExecQuery("Select * from Win32_BIOS")
For each objBIOS in colBIOS
StrNewPCName=objBIOS.SerialNumber
Next
Set MyShell= CreateObject ("WSCript.shell")
StrCurrentControlSet = "HKLM\SYSTEM\CurrentControlSet\"
StrTcpipParams = StrCurrentControlSet & "services\Tcpip\Parameters\"
StrComputerName = StrCurrentControlSet & "Control\ComputerName\"
With MyShell
.RegDelete StrTcpipParams & "Hostname"
.RegDelete StrTcpipParams & "NV Hostname"
.RegWrite StrComputerName & "ComputerName\ComputerName", StrNewPCName
.RegWrite StrComputerName & "ActiveComputerName\ComputerName", StrNewPCName
.RegWrite StrTcpipParams & "Hostname", StrNewPCName
.RegWrite StrTcpipParams & "NV Hostname", StrNewPCName
End With