如何使用PowerShell获取远程计算机上正在运行的应用程序列表

时间:2012-01-16 13:48:17

标签: powershell

像这样:

get-process -computername cname | where-object {$_.mainwindowhandle -ne 0} | select-object name, mainwindowtitle

它不起作用

2 个答案:

答案 0 :(得分:2)

如果您为mainwindowtitle获取空值是正确的,因为此属性对远程进程不可用。有关NotSupportedException的信息,请参阅MSDN

答案 1 :(得分:1)

如果可以,请使用PowerShell远程处理。也就是说,您需要PowerShell V2并且需要使用Enable-PSRemoting -Force在远程系统上启用PowerShell远程处理。完成后,您应该可以在远程系统上运行命令,如下所示:

$cred = Get-Credential
Invoke-Command -ComputerName $computer {Get-Process *mail* | Where {$_.MainWindowHandle} | Select Name,MainWindowTitle} -Cred $cred

如果您在域中并且您的凭据在远程系统上有效,则无需通过-Credentials参数指定它们。