Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell:如何检查internet explorer的任何实例是否已在运行_Powershell - Fatal编程技术网

Powershell:如何检查internet explorer的任何实例是否已在运行

Powershell:如何检查internet explorer的任何实例是否已在运行,powershell,Powershell,我想检查internet explorer的任何实例(即它的任何窗口)是否已打开,以便我可以决定是否必须创建新对象,或者必须附加到该ie窗口的现有进程。代码如下: $ie = (New-Object -COM "Shell.Application").Windows()| ? { $_.Name -eq "Windows Internet Explorer" } 我只想在IE的一个窗口已经打开的情况下连接到windows(),如果没有打开IE窗口,则该行应如下所示: $ie = (New

我想检查internet explorer的任何实例(即它的任何窗口)是否已打开,以便我可以决定是否必须创建新对象,或者必须附加到该ie窗口的现有进程。代码如下:

$ie = (New-Object -COM "Shell.Application").Windows()| ? { $_.Name -eq "Windows Internet    Explorer" }
我只想在IE的一个窗口已经打开的情况下连接到windows(),如果没有打开IE窗口,则该行应如下所示:

$ie = (New-Object -COM "Shell.Application")
我不知道这是否适用于具有多个用户的终端服务环境(非提升的
获取过程是否只在您自己的会话(和系统会话)中查找过程?

尝试:

if (
     Get-Process iexplore -ea silentlycontinue | 
     Where-Object {$_.MainWindowTitle -ne ""}
)

获取进程iexplore
?我会添加一个
-erroraction silentlycontinue
参数,以避免丢失进程时出现异常。我尝试了这个方法,但没有成功,没有打开IE窗口,但get进程仍显示4个iexplore@user2194017:如果您一直在测试从PSH实例通过COM启动IE,您可能泄漏了COM引用(如果PSH没有托管内存压力,这些可能需要很长时间才能确定)。@user2194017很乐意提供帮助,请记住接受它作为答案。
if (
     Get-Process iexplore -ea silentlycontinue | 
     Where-Object {$_.MainWindowTitle -ne ""}
)