Script PowerShell's restart network window server 2008

Script PowerShell's restart network window server 2008

powershell script restart network window server 2008

Jan 17, 2025

powershellwindowserverscript

เริ่มต้นที่ปัญหาเลยฮ่าๆ(ปวดหัวๆๆๆ)

Script ที่เขียนนี้ใช้บน Window server 2008 ที่หน่วยงาน มีระบบนึงที่รันบน Window server 2008 และ window server 2008 ก็หมดอายุแล้ว โดน Microsoft ตัดหางปล่อยวัดแล้ว ฮ่าๆ ย่อกๆ อยู่ในสถานะ end of support แล้ว
บริษัทที่มาขายระบบก็ล้มหายตายจากไปแล้วด้วย(ปวดหัวๆ) สิ่งที่ทำได้ ณ ปัจจุบัน ก็ดูแลกันต่อไป แบบไม่มีค่าหัว ฮ่าๆ วันไหนที่คนใช้ระบบเยอะๆ Package ใน card lan ก็จะขึ้นสูง ระบบก็จะเชื่อมกับ server ไม่ได้ สายโทรศัพท์เริ่มดังจาก หน่วยงานต่างๆ ต้องค่อยมาเช็คว่าเป็นอะไร แรกๆไม่รู้สาเหตุ ก็ reboot server เลย จบง่ายๆ ฮ่าๆ หลังจากสังเกตุอาการก็เดาได้ เลยต้องหาวิธี เพราะกระทบชีวิตมากๆ ดึกแค่ไหนมีเสียงเข้าก็ต้องลุกมารีโมตมาแก้ไข เลยมาจบด้วยการเขียน script รันใน task schedule เลยจบๆ(ปวดหัวๆ)
Copy & Past ทดสอบก่อนนะครับ

Script PowerShell

# สำหรับ windos server ที่สูงกว่า 2008
# Get-NetAdapter | Restart-NetAdapter -Confirm:$false
# Restart-NetAdapter -Name "ชื่อ Network Adapter" -Confirm:$false

# กำหนดตำแหน่งไฟล์ Log
$logFile = "D:\Logs\restart_network.log"

# ฟังก์ชันสำหรับบันทึก Log
function Write-Log {
    param (
        [string]$Message
    )
    $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    Add-Content -Path $logFile -Value "[$timestamp] $Message"
}

# เริ่มการบันทึก Log
Write-Log "Starting network restart task..."

# หยุด Network Connections
Write-Log "Stopping Network Connections..."
netsh interface set interface "Local Area Connection" admin=disabled | Out-Null

# รอ 5 วินาที
Start-Sleep -Seconds 5

# เริ่ม Network Connections
Write-Log "Starting Network Connections..."
netsh interface set interface "Local Area Connection" admin=enabled | Out-Null

# เสร็จสิ้น
Write-Log "Network restart task completed successfully."

Set up task schedule

powershell.exe -ExecutionPolicy Bypass -File "D:\Scripts\restart_network.ps1"