在 Windows 7 中通过 WMI 重命名计算机

在 Windows 7 中通过 WMI 重命名计算机

我无法通过 WMI 重命名本地计算机。

我正在遵循 MSDN 文档(但没有遵循它 - 试图获得某种结果),但似乎无法使 Win32_ComputerSystem.Rename() 方法发挥作用。

Set colComputers = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem")
For Each objComputer in colComputers
  If StrComp(objComputer.Name, Left(objNewComputerName, 15), vbTextCompare) <> 0 Then
    errCode = objComputer.UnjoinDomainOrWorkgroup()
    If errCode <> 0 Then
      MsgBox "Error leaving domain/workgroup. Error: " & errCode
    End If

    errCode = objComputer.Rename(objNewComputerName)
    If errCode <> 0 Then
      MsgBox "Error changing computer name from '" & objComputer.Name & "' to '" & Left(objNewComputerName, 15) & "'. Error: " & errCode
    Else
      objComputer.JoinDomainOrWorkgroup domain, password, username

      ' Blindly reboot after attempting to join workgroup/domain
      Set colOs = GetObject("winmgmts:{(Shutdown)}root\cimv2")
      For Each objOs in colOs
        objOs.Reboot()
      Next
    End If
  End If
Next

每当我调用 Rename() 时,我都会收到错误代码 5(拒绝访问)。所以也许我需要先离开域?当我调用 UnjoinDomainOrWorkgroup() 时,我也收到错误代码 5。

这是原始的 Windows 7 安装,只有一个帐户,当然,该帐户被指定为管理员。我不明白为什么这不起作用。

帮忙?

答案1

您是否尝试过在测试期间禁用 UAC?我确信这就是您收到“拒绝访问”消息的原因

相关内容