Командное окно входа в Windows Sandbox PowerShell не отображается
Я пытаюсь использовать Windows Sandbox с командой входа в PowerShell. Это
LogonCommand
раздел моего файла WSB:
<LogonCommand>
<Command>C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -executionpolicy unrestricted -file "C:\\Users\\WDAGUtilityAccount\\Desktop\\boot.ps1" -noexit</Command>
</LogonCommand>
Экземпляр Windows Sandbox загружается нормально, что указывает на отсутствие проблем с синтаксисом / проверкой содержимого файла WSB, но окно PowerShell не отображается. Добавление
-windowstyle normal
не имеет никакого эффекта.
Я подозреваю
LogonCommand
содержимое запускается в командной строке, которая не становится видимой, поэтому запуск из нее команды для открытия PowerShell каким-то образом "наследует" невидимое окно терминала.
Можно ли заставить окно терминала PowerShell открываться в таком случае? Я хочу сделать это, чтобы видеть ошибки, которые я получаю из-за того, что сценарий PowerShell не выполняется должным образом, и я не вижу никаких индикаторов вывода / прогресса.
1 ответ
Найдено в ответ (не похож на чистейшем вариант, но работает):
<Command>C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -executionpolicy unrestricted -command "start powershell {-noexit -file C:\\Users\\WDAGUtilityAccount\\Desktop\\boot.ps1}"</Command>
C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe
переключается с CMD на PowerShellpowershell
в одиночку не сработает-windowstyle normal
не сработает, чтобы сделать это окно PowerShell видимым
-executionpolicy unrestricted
позволяет вложенной оболочке PowerShell запускаться из файла-command "start powershell
запускает другую оболочку PowerShell с видимым окном- Запуск этого непосредственно для
LogonCommand
не будет работать
- Запуск этого непосредственно для
-noexit
сообщает вложенной оболочке PowerShell оставаться видимой- Это не обязательно, но полезно для отладки ошибок скрипта.
-file C:\\Users\\WDAGUtilityAccount\\Desktop\\boot.ps1}"
запустить данный скрипт- Загрузите его в машину с помощью
MappedFolder
в конфигурации WSB
- Загрузите его в машину с помощью