1

Я пытаюсь написать командный файл, который будет robocopy MSI-файл с сервера на все доменные ПК, которые в данный момент находятся в сети. Следует пропустить компьютеры, на которых уже есть указанный файл, и компьютеры, которые находятся в автономном режиме.

В настоящее время я использую это.

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

После этого я использую psexec чтобы открыть CMD на целевом ПК и запустить MSI с 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

Идея состоит в том, чтобы этот сценарий выполнялся в течение недели для установки программы на как можно большем количестве компьютеров без присмотра.

psexec и msiexec работают нормально. Но robocopy продолжает попытки доступа к ПК, которые находятся в автономном режиме. Следует просто перейти к следующему компьютеру.

Я пытался включить как можно больше информации. Дайте мне знать, если вам нужно больше информации.

1 ответ1

0

Добавьте ключи /W и /R в команду RoboCopy.

По 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).

Итак, команда:

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

Повторите попытку один раз через одну секунду, а затем прекратите копирование, если удаленный компьютер отключен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .