检查PowerShell窗口是否支持用户交互

时间:2017-02-08 10:11:13

标签: c# powershell

我正在使用" PowerShellInstance"在C#中执行PowerShell脚本。但是我遇到了与命令行开关有关的问题" Clear-Host"。我得到一些与主机程序或命令类型不支持用户交互有关的错误。

但是,必须可以直接通过PowerShell执行此脚本(不使用C#),因此,我想要" Clear-Host"仅当脚本是从PowerShell窗口中触发而不是从C#代码触发时才执行的命令。

到目前为止,我发现的唯一方法是将其包裹在" Try { } Catch { }"阻止,但我想知道是否有更好的解决方案...像" if ($host.IsOk) { }"。

由于

1 个答案:

答案 0 :(得分:0)

好的,如果我理解正确,你想要这样的东西:

if($host.UI.RawUI.WindowTitle -match "PowerShell")

{

Clear-Host

}

else

{

"The script was executed from C#"

}