Renomeando um computador via WMI no Windows 7

1

Estou com problemas para renomear um computador local via WMI.

Estou seguindo a documentação do MSDN (e não a seguindo - em uma tentativa de obter ALGUM tipo de resultado), mas não consigo fazer o método Win32_ComputerSystem.Rename () funcionar.

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

Sempre que eu chamo Rename (), recebo um código de erro 5 (acesso negado). Então talvez eu precise deixar o domínio primeiro? Quando eu chamo UnjoinDomainOrWorkgroup (), também recebo um código de erro 5.

Esta é uma instalação simples do Windows 7, com apenas uma conta, que é, obviamente, designada como administrador. Não consigo entender por que isso não funciona.

Halp?

    
por oo. 02.12.2009 / 05:22

1 resposta

2

Você já tentou desativar o UAC durante o teste? Tenho certeza que é por isso que você está recebendo as mensagens de acesso negado

    
por 02.12.2009 / 05:44

Tags