我正在尝试将Windows Sandbox与PowerShell登录命令一起使用。这是我的WSB文件的LogonCommand
部分:
<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脚本没有按预期执行,而且我对任何输出/进度指示都视而不见。
找到一个答案(看起来不是最干净的选项,但有效(:
<Command>powershell -executionpolicy unrestricted -command "start powershell {-noexit -file C:UsersWDAGUtilityAccountDesktopboot.ps1}"</Command>
powershell
从CMD切换到PowerShell-windowstyle normal
无法使此PowerShell窗口可见-executionpolicy unrestricted
允许嵌套PowerShell从文件运行
start powershell
运行另一个具有可见窗口的PowerShell- 直接为
LogonCommand
运行此操作将不起作用 -noexit
告诉嵌套的PowerShell保持可见- 这不是必需的,但对调试脚本错误很有用
-file C:UsersWDAGUtilityAccountDesktopboot.ps1
运行给定的脚本- 在WSB配置中使用
MappedFolder
与机器共享
- 在WSB配置中使用
- 直接为