得到运行的应用名并赋给变量:
$applications = gps | ? {$_.mainwindowhandle -ne 0} | select name
或者
$applications = get-process | where-object {$_.mainwindowhandle -ne 0} | select-object name
通过"get-process"与判断条件,筛选存在mainwindowhandle(主窗口句柄)的process,并选出它们的name,赋值给$applications。
$applications是一个数组。通过循环停止应用(此处不希望关闭powershell自身):
if ($applications.count -ne 0) {
foreach ($application in $applications) {
if ($application -ne $null -and $application.name -ne "powershell") {
stop-process -force -name $application.name
}
}
}
通过$applications的name属性,去停止线程(stop-process)。
补充,如果是操作远程机器(name=$computername),则应该吧上述代码放到$script变量中,并用
invoke-command -script $script -computername $computername
的方式去执行命令。