您的位置:首页 > 运维架构 > Shell

使用powershell 与基线services列表比较,查看服务状态是否发生变化

2014-10-01 14:03 567 查看
$service_error=""
$i=$j=0
$filebase=Get-Content d:\ps\servicebase.txt
$service_curr=get-wmiobject -class win32_service -computer localhost

for($i=0;$i -lt $service_curr.length;$i++)
{
$pattern_name="^\w{7}\s\b$($service_curr[$i].name)\b"
$pattern_state="^\b$($service_curr[$i].state)\b"

#$pattern_name #检测变量
#$pattern_state #检测变量
$flag=0
for($j=3;$j -lt $filebase.length;$j++)
{
if($filebase[$j] -match $pattern_name)
{ $flag=1
#$filebase[$j] #检测变量
if (-not($filebase[$j] -match $pattern_state))
{
$service_error+="$($service_curr[$i].name)`n"
#$service_error.length #检测变量
break
}
else
{

break
}
}

}
if($flag -eq 0)
{
write-host "$($service_curr[$i].name)没有在ServiceBase中找到此项"

}
}

$service_error
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐