Sim, você está executando o processo ROBOCOPY
nesse computador com $DestinationComputer
, sim. Mas você ainda está executando Invoke-Command
em sua máquina, que aguarda stdout
e stderr
.
A partir dos documentos
The Invoke-Command cmdlet runs commands on a local or remote computer and returns all output from the commands, including errors
Portanto, este comportamento é esperado com o seu código
Invoke-Command -ComputerName $DestinationComputer -Credential $creds -Authentication
Credssp -ScriptBlock {
robocopy \$($args[0])\C$\usmt \$($args[1])\C$\usmt /E /COPY:DATOU /E /ZB /mt:32
/r:5 /w:0
}-ArgumentList $SourceComputer,$DestinationComputer -ErrorAction Inquire
O que você precisa é passar a opção InDisconnectedSession
. O que faz com que Invoke-Command
se conecte, execute cmd e desconecte imediatamente. Novamente a partir dos documentos:
To create a disconnected session, use the InDisconnectedSession parameter of the Invoke-Command cmdlet. It creates a session, starts the command, and disconnects immediately, before the command can return any output.
Isso é o que você está pedindo.
Felicidades.