Скрипт Powershell для автоматизации Sysprep - PullRequest
0 голосов
/ 12 июня 2019

Я пишу скрипт для автоматизации удаления вирусов в Windows 10, и он запускает команду Sysprep.Если какие-либо вирусы по-прежнему вызывают проблемы с Sysprep, скрипт с проверкой ошибок в файле setupact.log удалит оставшиеся, пока не сможет запустить Sysprep без проблем.

Проблема, с которой я сталкиваюсь с кодом, заключается в том, что когда я запускаю Sysprep, а вирусы все еще присутствуют, появляется следующее всплывающее окно с сообщением об ошибке

Sysprep не удалосьпроверьте правильность установки Windows.Просмотрите файл журнала в [Path] \ setupact.log для получения подробной информации

РЕДАКТИРОВАТЬ: я выяснил, как закрыть всплывающее окно, если появляется сообщение об ошибке, завершив процесс:

$processID = Get-Process sysprep | select -expand id Stop-Process $processID

Теперь проблема в том, что я не могу различить «хороший» sysprep и «плохой» sysprep, так как оба имеют всплывающее окно.Можно ли прочитать содержимое всплывающего окна и действовать соответствующим образом?Может быть, проверить средство просмотра событий, работает ли Sysprep или нет?

У меня есть «логика» кода на бумаге, но я в настоящее время застрял с этим всплывающим окном.

Логика кода:

  1. Удалите ненужные приложения Windows Appx (BingNews, Microsoft People, ZuneMusic, Spotify, Candy Crush и т. Д.) --- Код уже готов

  2. Запустите Sysprep (& "C:\Windows\System32\Sysprep\sysprep.exe" /generalize /shutdown /oobe)

    • Если всплывающее сообщение появляется (что я ожидаю), закройте окно, прочитайте последние 10 строк setupact.log и проверьте, какое вредоносное ПОвсе еще присутствует
  3. Удалите вредоносные программы

  4. Повторяйте шаги 2 и 3 до тех пор, пока Sysprep не будет работать гладко

Обратите внимание, что все должно быть сделано в Powershell.

...