Командное окно входа в 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 на PowerShell
    • powershell в одиночку не сработает
    • -windowstyle normal не сработает, чтобы сделать это окно PowerShell видимым
  • -executionpolicy unrestricted позволяет вложенной оболочке PowerShell запускаться из файла
  • -command "start powershell запускает другую оболочку PowerShell с видимым окном
    • Запуск этого непосредственно для LogonCommand не будет работать
  • -noexit сообщает вложенной оболочке PowerShell оставаться видимой
    • Это не обязательно, но полезно для отладки ошибок скрипта.
  • -file C:\\Users\\WDAGUtilityAccount\\Desktop\\boot.ps1}" запустить данный скрипт
    • Загрузите его в машину с помощью MappedFolder в конфигурации WSB
Другие вопросы по тегам