企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
监控效果图不发上来了,实测可用。 ~~~ 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 } } } ~~~