Estou criando um script para reinicializar computadores e preciso relatar o sucesso ou a falha do comando shutdown.exe como parte do registro do meu script. Estou tendo problemas ao redirecionar a saída de processos shutdown.exe com falha para um arquivo. Aqui está minha linha de comando:
shutdown.exe -r -t 50000 -m \\top34.top.local > c:\output.txt
Quando executo isso, vejo a seguinte mensagem na tela: "top34.top.local: O nome do computador inserido não é válido ou o desligamento remoto não é compatível com o computador de destino. Verifique o nome e tente novamente ou entre em contato com seu sistema administrador.(53)", o que eu esperava, mas c:\output.txt está em branco - e não contém esse erro. Meu script precisa gerar esta linha em um arquivo de texto para fins de registro.
Eu também tentei envolvê-lo em um CMD, assim:
cmd /c shutdown.exe -r -t 50000 -m \\top34.top.local > c:\output.txt
Mas isso também não produz resultado. Também tentei o duplo >> (anexar), mas não faz diferença.
Eu fiz uma boa investigação e parece que shutdown.exe redirecionará a saída de comandos bem-sucedidos para stdout, mas não para comandos com falha. Como posso redirecionar comandos bem-sucedidos e com falha para o meu arquivo?
Executando o Windows 2012 R2
Responder1
Como posso fazer com que ( shutdown
) redirecione comandos bem-sucedidos e com falha para o meu arquivo?
Use o seguinte comando:
shutdown.exe -r -t 50000 -m \\top34.top.local > c:\output.txt 2>&1
Observe que o 2>&1
deve serdepoiso primeiro >
redirecionamento.
Duplicando alças
O
&
operador de redirecionamento duplica a saída ou entrada de um identificador especificado para outro identificador especificado. Por exemplo, para enviardir
a saída para File.txt e enviar a saída de erro paraFile.txt
, digite:dir > c:\file.txt 2>&1