一个简单的PowerShell脚本,可以破坏PS控制台

时间:2017-04-22 04:24:51

标签: windows powershell

这个问题在精神上与Powershell command prompt prints ^C when pressing Ctrl+C, why?有关 - 两者都涉及到PowerShell控制台搞砸了。

假设:

  • Windows 10或8或8.1
  • PowerShell控制台

考虑以下脚本:

$iisexpress = "C:\Program Files (x86)\IIS Express\iisexpress.exe"
$config = "c:\xyz\.vs\config\applicationhost.config"
$logFile = "$env:temp\1.log"
$id = (Start-Process $iisexpress "/site:Site1","/config:$config" -PassThru -RedirectStandardOutput $logFile -NoNewWindow).Id
$id

我认为解决方案特定配置并不重要。重要的是我在重定向输出并收集进程ID时启动一个站点。

就是这样。尝试使用控制台一点。如果没有任何反应 - 再次运行脚本,即使它没有必要。控制台很糟糕。

为什么呢?我该如何解决?

1 个答案:

答案 0 :(得分:6)

我相信-NoNewWindow标志会给您带来麻烦。 iisexpress.exe使用此开关在Powershell窗口内运行,似乎部分劫持了您的输入。

我仍然很想调查为什么会发生这种情况并且目前还没有答案,但一个简单的解决办法就是用-NoNewWindow替换-WindowStyle hidden

相关问题