带有空格的 powershell start-process 命令

带有空格的 powershell start-process 命令

谁能告诉我为什么这在 Windows 10 中不起作用?

{start-process powershell 'start-process c:\windows\syswow64\mmc.exe """c:\path\to\my\administrative tool\console1.msc""" -verb runas' -credential domain\user}

在 Windows 8.1 下,它运行良好。但是,今天早上升级到 Windows 10 后,代码在 console1.msc 路径中的空格处出错。

提前致谢!

答案1

看起来,从 PowerShell 进程启动 PowerShell 进程到启动 MMC 的每个步骤都会占用一些双引号来防止出现空格。(PowerShell 本身的参数也需要转义。)因此,您需要进一步转义这些引号。事实上,您需要九个 - 数一数,- 两边都有双引号字符:

start-process powershell 'start-process c:\windows\syswow64\mmc.exe """""""""c:\administrative tool\console1.msc""""""""" -verb runas' -credential domain\user

相关内容