Faça o robocopy pular os computadores offline no arquivo de texto

1

Estou tentando gravar um arquivo em lote que robocopy um arquivo msi de um servidor para todos os PCs do domínio que estão on-line naquele momento. Ele deve pular os computadores que já possuem o arquivo listado e PCs que estão off-line.

Atualmente estou usando isso.

for /f %%i in (\domain.lan\folder\folder\computers.txt) do robocopy c:\software\msifolder \%%i\c$\install /MIR

Depois disso, estou usando psexec para abrir um CMD no PC de destino e executar o MSI com msiexec

psexec \computername.domain.lan -u domain\"Username" -p "Password" cmd >> \domain.lan\folder\folder\software.install.txt 2>&1
msiexec.exe /quiet  /i c:\install\software.msi /norestart

A ideia é deixar este script funcionar como uma tarefa por uma semana para instalar um programa em tantos PCs quanto possível sem supervisão.

Os psexec e msiexec estão funcionando bem. Mas o robocopy continua tentando acessar PCs que estão off-line. Ele deve simplesmente pular para o próximo computador.

Eu tentei incluir o máximo de informações possível. Deixe-me saber se você precisar de mais informações.

    
por Maarten 01.06.2017 / 18:27

1 resposta

0

Adicione as opções /W e /R ao seu comando RoboCopy.

Por TechNet :

/r:<N>    Specifies the number of retries on failed copies.
          The default value of N is 1,000,000 (one million retries).

/w:<N>    Specifies the wait time between retries, in seconds.
          The default value of N is 30 (wait time 30 seconds).

Então o comando:

robocopy c:\software\msifolder \%%i\c$\install /MIR /R:1 /W:1

Repetiria uma vez após um intervalo de um segundo e, em seguida, abandonaria a cópia se a máquina remota estivesse off-line.

    
por 01.06.2017 / 19:11