PowerShell循环以持续检查服务器是否已启动 [英] powershell loop to continous check if server is up

查看:18
本文介绍了PowerShell循环以持续检查服务器是否已启动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想运行一个脚本,根据特定服务是否正在运行来检查5台服务器是否已启动并正在运行。如果该服务正在运行,则我们知道该服务器已启动并可访问。如果它没有回复,那么我希望它继续检查它。以下是我到目前为止得到的信息:

Get-Service LANMANSERVER -ComputerName JOHNJ1
Get-Service LANMANSERVER -ComputerName JOHNJ2
Get-Service LANMANSERVER -ComputerName JOHND1
Get-Service LANMANSERVER -ComputerName JOHNM
Get-Service LANMANSERVER -ComputerName JOHNI
start-sleep 90

推荐答案

是,只需检查返回对象的Status属性:

$servers = "JOHNJ1", "JOHNJ2"
foreach ($server in $servers) {
    $status = (get-service -Name lanmanserver -ComputerName $server).Status
    if ($status -eq "Running") {
        "Its Up!"
    } else {
        "Its Down!"
    }
}

更新以下是如何等待服务器联机的示例:

$servers = "JOHNJ1", "JOHNJ2"
foreach ($server in $servers) {
    while ( (get-service -Name lanmanserver -ComputerName $server).Status -ne "Running" ) {
        "Waiting for $server ..."
        Start-Sleep -Seconds 10
    }
    "$server is Up!"
}

这篇关于PowerShell循环以持续检查服务器是否已启动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆