gpt4 book ai didi

powershell - Powershell脚本,如果和

转载 作者:行者123 更新时间:2023-12-03 01:18:26 25 4
gpt4 key购买 nike

我想制作一个脚本,该脚本检查两次进程是否正在运行。
首先,我想正常检查进程是否正在运行,第二次我想等待30秒,直到下一次检查。

在这里,我有这样的事情:

$check=Get-Process hl -ErrorAction SilentlyContinue
if ($check -eq $null) {
Start-Sleep -s 30
}

如果在两种情况下进程均未运行,我希望poweshell向我发送带有以下内容的邮件:
$EmailFrom = “mail@gmail.com”
$EmailTo = “othermail@yahoo.com”
$Subject = “Process not running”
$Body = “NOT RUNNING”
$SMTPServer = “smtp.gmail.com”
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential(“user”, “pass”);
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

有东西,但我不知 Prop 体如何。

因此它将是这样的:
如果进程未运行{sleep},并且第二次检查未运行{mail}

最佳答案

应该这样做:

$check1 = -not ( Get-Process hl -ErrorAction SilentlyContinue )
Start-Sleep -Seconds 30
$check2 = -not ( Get-Process hl -ErrorAction SilentlyContinue )

if ($check1 -and $check2) {
# email
}

通常, Get-Process返回过程对象,或者什么都不返回。在真相测试方面,“一个或多个”比较为 $true,“没有任何东西”比较为 $false
  • -not(get-process)正在运行的进程,将== $ true,这使其变为$ false。
  • -not(get-process)具有停止的进程,将== $ false,这使其变为$ true。

  • 因此,if测试很简单- if ($check1 -and $check2)“if this and this评估为$ true”

    关于powershell - Powershell脚本,如果和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22738006/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com