Как программно отключить безопасный режим Windows с помощью PowerShell - PullRequest
0 голосов
/ 18 июня 2020

У меня есть написанный мной сценарий, который я использую для удаления и повторной установки программы в нашей среде. Это программа Bit9 (Carbon Black), и, согласно их справочной службе, единственный способ отключить службу (чтобы я мог удалить и переустановить) - это загрузиться в безопасном режиме и отключить службу их. Я написал сценарий PS, который позаботится о большинстве подъемных операций, и службу C#, чтобы запустить сценарий в безопасном режиме. Предполагается, что сценарий отключит безопасный режим, а затем перезагрузится в обычный режим, но я не могу заставить его работать. Я пробовал следующие команды:

  • & C:\Windows\System32\bcdedit.exe /deletevalue {current} safeboot
  • Start-Process -FilePath 'C:\Windows\System32\bcdedit.exe' -ArgumentList "/deletevalue {current} safeboot" -Verb RunAs
  • Invoke-Command -FilePath 'C:\Windows\System32\bcdedit.exe' -ArgumentList "/deletevalue {current} safeboot" -Verb RunAs
  • Я даже пытался разместить команда в пакетном файле и вызов ее из сценария.

Кажется, ничего не работает. Самая распространенная ошибка, которую я получаю:

This command cannot be run due to the error: The system cannot find the file specified.
Start-Process : 
At C:\ta_fss\Bit9ForceInstall\bit9uninstall.ps1:255 char:13
+             Start-Process -FilePath $bcdedit -ArgumentList $deletePar ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand

Кто-нибудь знает, как я могу заставить это работать?

Спасибо

РЕДАКТИРОВАТЬ: похоже, используя bcdedit.exe в безопасном режиме невозможно. Итак, следующий вопрос: есть ли параметр реестра для включения / отключения безопасного режима? Так может быть лучше / проще. Я просто не могу его найти. Все, что я нашел в Интернете, указывает на старые версии Windows с использованием HKLM:\SYSTEM\CurrentControlSet\Control\SafeBoot\Option, которого нет в Windows 10. Если это не нужно добавлять. Также не уверен, как настроить Windows для загрузки в безопасном режиме с загрузкой сетевых драйверов.

...