Как вызвать scanstate из USMT для большого количества компьютеров?

Я уже настроил все свои XML-файлы, но у меня возникли проблемы с определением логики сценариев сканирования для запуска на большом (~50) количестве компьютеров удаленно. У меня есть список компьютеров и соответствующие профили пользователей, которые я хочу перенести в формате CSV.

Я полагаю, я мог бы запустить скрипт Powershell при запуске, который вызывает scanstate, работающий под CMD, заполняя соответствующие параметры из списка. Однако я обеспокоен тем, что это либо задержит вход в систему, либо пользователь закроет окно CMD, а это не то, что я хочу. Любой совет?

1 ответ

Решение

Попробуйте дать PSEXEC от Sysinternals шанс:
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
У меня нет опыта работы с USMT. Поместите инструмент USMT и необходимые ему файлы в папку c:\temp\usmtSource на компьютере, с которого вы хотите запустить процесс. Затем вы можете использовать powershell для чтения CSV и PSEXEC для вызова удаленных целей.

import-csv usmt.csv | foreach {
    $target = $_.computer
    robocopy.exe c:\temp\usmtSource \\$target\c$\temp
    psexec.exe \\$target c:\temp\usmt.exe $_.arg1 $_.arg2 $_.arg3
}

Это основано на CSV с четырьмя именами столбцов: computer, arg1, arg2, arg3
Отрегулируйте по необходимости.

Другие вопросы по тегам