【问题标题】:Rename PC To Serial Number将 PC 重命名为序列号
【发布时间】:2009-11-05 20:17:21
【问题描述】:

我正在尝试编写一个脚本来将 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

提前感谢您的帮助!

【问题讨论】:

    标签: vbscript windows-xp


    【解决方案1】:

    您可以通过编辑 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 
    

    【讨论】:

    • 感谢 RRUZ 的回答,您建议我使用 SetComputerNameEx。我会调查那个选项,但我不是程序员,我是系统管理员。
    【解决方案2】:

    我怀疑您是否可以通过 WMI 更改计算机名称。有一个 Windows API 调用 here

    【讨论】:

      猜你喜欢
      • 2017-07-10
      • 2022-11-14
      • 1970-01-01
      • 2018-03-26
      • 2011-03-13
      • 1970-01-01
      • 2020-09-20
      • 1970-01-01
      • 2019-04-14
      相关资源
      最近更新 更多