Estou tendo dificuldade para descobrir como renomear um computador com Windows 7 remotamente. Isso é para automatizar as compilações do Win 7 em um ambiente vSphere 5, e estou tentando obtê-lo da maneira mais prática possível. Até agora, consegui obter tudo, menos a máquina renomear automatizada (ou automatizável).
O WinRM está funcionando, portanto os métodos remotos do PowerShell funcionam.
invoke-command -computername "W7-Img3-RPT49VA" -scriptblock {commands go here; have another one}
O acima funciona. Eu posso fazer coisas como obter listagens de diretório e executar comandos. No entanto, a alteração do domínio não funcionou. Por essa pergunta do SF , tentei o seguinte no scriptblock:
$comp=get-wmiobject -class computersystem ; $comp.rename("W7-clone-42")
Isso retorna ReturnValue : 5
que, após muita pesquisa, se traduz em "Acesso negado". A outra sugestão nessa página:
wmic computersystem rename "W7-Clone-42"
Retorna o inútil "Invalid Verb Switch". Outra fonte da Internet sugere a seguinte formulação:
wmic computersystem where Name="W7-Img3-RPT49VA" call rename name="W7-clone-42"
Que fornece alternadamente Verb Switch inválido ou parâmetro inválido. Como teste, executei o comando acima diretamente na minha estação de gerenciamento, em vez de via invoke-command
e também tive acesso negado.
Indo para a velha escola, copiei netdom para a máquina alvo.
netdom renamecomputer W7-Img3-RPT49VA /newname:W7-clone-42
O que me dá 'acesso negado'.
Ao longo de tudo isso, as credenciais com as quais eu testei têm Admin de domínio. A intenção é acionar o priv exato depois de identificar os métodos viáveis. O log de eventos de segurança na máquina de destino definitivamente mostra os logons bem-sucedidos durante tudo isso.
O método alternativo, manipular a renomeação através do processo de personalização do sistema vSphere, ainda está disponível. Eu tenho até um arquivo de resposta, mas não sei como preparar a máquina de modelo para permitir que ela seja usada. De qualquer maneira, vai me dar o que eu preciso.
o que estou perdendo? A wmic
sintaxe está claramente errada, mas os outros dois métodos retornam 'acesso negado', portanto, tenho poucas esperanças de que funcione assim que a sintaxe correta for resolvida. Este é um problema de interação do UAC?
fonte
Respostas:
Eu sempre usei o
netdom renamecomputer
método para fazer exatamente o que você está tentando fazer. No Windows Vista e 7, encontro o mesmo erro "acesso negado" que você faz. Você pode contornar isso, no entanto, usando as opçõesUserD
ePasswordD
:Isso solicitará sua senha e funcionará sem o erro "acesso negado". Imagino que tenha a ver com o token elevado, mas não tenho certeza.
fonte
Você deve executar o comando WMIC em um prompt elevado. Além disso, se houver traços nos nomes atuais ou nos novos computadores, será necessário cercá-los entre aspas duplas.
Você pode usar o PSEXEC para iniciar um prompt de comando elevado e passar o comando WMIC para alterar o nome do computador da seguinte maneira:
psexec \\ nome do pc atual -h -u domínio \ domínioadminuser cmd / c wmic Computersystem onde name = "current-pcname" [chamada] renomear nome = "new-pcname"
A primeira coisa que acontece é que o PSEXEC solicitará a senha do administrador do domínio - você pode usar a opção -p para PSEXEC e digitar no comando - mas isso é mais seguro. O verbo 'call' é opcional para este comando WMIC. Finalmente, depois que o WMIC e o PSEXEC retornarem os códigos '0', o PC precisará ser reiniciado - eu apenas uso o comando SHUTDOWN.
fonte
Se você precisar renomear remotamente um computador com Windows, a GUI do Netdom Rename Computer pode fazer o trabalho sem nenhum conhecimento de linha de comando. É especialmente útil ao renomear vários computadores viúvos. Ele também tem a capacidade de renomear computadores carregando um arquivo csv.
Faça o download do Netdom Rename Computer GUI da Colosify
fonte