云主机网卡监控
发布时间:2017/12/11 21:00:45 次浏览 作者:admin
cls
$host.UI.RawUI.WindowTitle = ‘……云主机网卡监控……’
$host.UI.RawUI.ForegroundColor='Green'
#version V1.3.9
#t1间隔时间s
$t1=5
$log='d:\Router.log.txt' #日志文件
#region
$nu=0
$n1="##########"
$n2="监控总次数"
$cq1=0
$cq2=0
$ip1='192.168.0.1'
#$ip2='172.16.11.145'
#$ip3='172.16.11.8'
$netcardname='SLOT52'#云主机网卡名称
#endregion
if(Test-Path $log){}else
{
"初始化log"
echo $n1 >$log
echo $n2 >>$log
echo $nu >>$log
echo $n1 >>$log
}
while(1 -lt 2)
{
sleep $t1
cls
$log1=Get-Content $log
$nu=$log1[2]
$nu=[int]$nu + 1
#print
echo $n1
echo "$($n2):$($nu)"
echo "监控间隔:$($t1)s"
echo "重启网卡:$($cq1)"
echo "重启路由:$($cq2)"
echo $n1
#write
echo $n1 >$log
echo $n2 >>$log
echo $nu >>$log
echo $log1[3..($log1.count-1)] >>$log
#check
if ((Get-WmiObject -query "SELECT * FROM Win32_PingStatus WHERE Address = '$ip1'").StatusCode -eq 0)
{
"检测到云主机线路正常!"
#检测内网
}
else
{
"检测到云主机线路已断开!!!"
"重启云主机网卡"
$cq1=$cq1 + 1
echo "重启路由网卡, $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss.ffff')">>$log
Get-NetAdapter -Name $netcardname | Restart-NetAdapter #要重启的网卡名称 可以用这个命令得到: Get-NetAdapter
sleep 30
#再次检测
if ((Get-WmiObject -query "SELECT * FROM Win32_PingStatus WHERE Address = '$ip1'").StatusCode -eq 0)
{ "检测到云主机线路正常!" }
else
{
"重启云主机网卡"
$cq2=$cq2 + 1
echo "重启云主机网卡, $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss.ffff')">>$log
Get-NetAdapter -Name $netcardname | Restart-NetAdapter
sleep 30
}
}
}