powershell脚本,用于查找用户运行的进程(如果不发送电子邮件)



PowerShell非常新。我必须写一个

  1. 将首先根据命名方案找到VM,然后是

  2. 查询每个VM以查找是否有PowerShell进程在特定用户,例如";userA";,如果在任何VM上都找不到进程然后

  3. 它将编译一个没有进程的VM的列表运行,然后通过电子邮件发送。

我已经弄清楚了第一部分,但是,我在第二部分遇到了困难。下面的代码总是返回"0";进程未运行";当我知道它在虚拟机上运行时。我认为问题在于PowerShell进程不止一个。有人能指引我吗?

$process = Invoke-Command -ComputerName "vmonnetwork" -ScriptBlock { Get-Process -name "powershell" -IncludeUserName } | Select-Object UserName
if ($process -eq "userA") {
Write-Host "Process is running"
}
else {
Write-host "Process is not running"
}

尝试对代码进行以下更改之一(而不是同时进行(:

if ($process -eq "userA")更改为if ($process.UserName -eq "userA")

Select-Object UserName更改为Select-Object -ExpandProperty UserName

相关内容

最新更新