Talvez divida a operação em dois scripts. Execute o segundo automaticamente após a reinicialização usando uma chave RunOnce . O primeiro script pode automatizar a configuração do segundo.
Tudo bem, então não tenho certeza se isso é totalmente possível, tudo em um.
Situação: novo computador não no domínio, apenas um grupo de trabalho local. Deseja alterar o nome dos computadores, ingressar em um domínio e colocar o nome do computador em um grupo de trabalho específico para esse domínio. Isso tudo pode ser feito através da GUI de uma só vez, então deve ser hipoteticamente possível via linha de comando, certo?
Eu posso renomear um computador local usando este método: CMD > WMIC COMPUTERSYSTEM where "Name='%computername%'" CALL Rename NEWNAME, Password, User
Isso funciona, no entanto, requer uma reinicialização para que as alterações ocorram.
Em seguida, fiz um arquivo em lote que funciona muito bem para fazer o que eu quero usando o NETDOM, no entanto, ele não pode ser usado até que o computador seja reiniciado devido à mudança de nome ...
SET /P compname=[promptString]
SET /P org=[promptString]
NETDOM JOIN %compname% /Domain:DOMAIN.NET /OU:%org%,DC=DOMAIN,DC=net /UserD:DOMAIN\user /PasswordD:password /Reboot:15 /verbose
PAUSE
Então, eu acho que a minha pergunta é ... existe alguma maneira de fazer isso de uma maneira sem ter que reiniciar? Se uma reinicialização for absolutamente necessária, seu consumo de tempo é excessivo; A única razão que eu quero fazer isso VS usando o Windows GUI é para obtê-lo na OU quero imediatamente sem ter pré-estágio ou ir para o AD e mover o computador.
Talvez divida a operação em dois scripts. Execute o segundo automaticamente após a reinicialização usando uma chave RunOnce . O primeiro script pode automatizar a configuração do segundo.
Se você definir um tempo limite para o comando NETDOM, você pode definir um tempo limite que é ridiculamente longo o suficiente para o script também renomear o computador antes que a reinicialização aconteça? Em outras palavras, em vez de ter um comando PAUSE
após NETDOM JOIN
, basta colocar o comando WMIC
depois disso. (Ou isso cheira muito como uma condição de corrida?)