捐血一袋救人一命

2019年5月15日 星期三

用 PowerShell 重新啟動網卡

最近公司的系統突然發生怪狀況,伺服器會不定時斷線,但完全相同的其他三台伺服器,卻不會發生斷線狀況!

當斷線狀況發生時,將網卡停用後,再重新啟用網卡可以讓網路回復連線,所以寫了一隻程式暫時處理

程式流程很簡單,就是會出毛病的伺服器去 ping 閘道 IP,ping 不到就表示斷線了,那就停用網卡,再啟用網卡


$IP = "192.168.123.1"

do{
    $datetime = Get-Date -UFormat "%Y/%m/%d %A %H:%M:%S"
# 去 ping 閘道 IP
    if (Test-Connection -IPAddress $IP -Count 1 -ErrorAction SilentlyContinue){
    Write-Host $datetime, " Server is Up"
}else{
    Write-Host $datetime, " Server is Down"
# 停用網路卡
        Disable-NetAdapter -name "Ethernet0" -Confirm:$false
        Sleep 5
# 啟用網路卡
        Enable-NetAdapter -name "Ethernet0" -Confirm:$false
        Sleep 5
        $datetime = Get-Date -UFormat "%Y/%m/%d %A %H:%M:%S"
        if (Test-Connection -IPAddress $IP -Count 1 -ErrorAction SilentlyContinue){
            Write-Host $datetime, " Server is Up Up Up !!!"
        }else{
            Write-Host $datetime, " Server is still Down !!!"
        }
    }
sleep 60
}while($true)

PS. 後記:因為虛擬伺服器從舊版VMware 平台轉移到新版VMware 平台之後,使用的網卡種類不對,導致網卡運作一段時間就會自動 Down 掉,更換虛擬網卡之後就正常了!

0 意見: