Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

Shutdown.exe เป็น built-in Windows command line tool ที่ช่วยให้ reboot, shutdown, put คอมพิวเตอร์ของคุณไป sleep, hibernate หรือจบ user session ในคู่มือนี้ เราจะแสดงตัวอย่างพื้นฐานของการใช้คำสั่ง shutdown ใน Windows คำสั่งทั้งหมดที่อภิปรายข้างต้นถูกรันใน Run dialog box — Win+R →, ใน command prompt (cmd.exe) หรือใน PowerShell

คำสั่ง shutdown มี syntax ดังนี้:
shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]
ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

如你所見 คำสั่งมีตัวเลือกเยอะมาก และสามารถใช้ shutdown/restart คอมพิวเตอร์ท้องถิ่นหรือระยะไกลได้

วิธี Shutdown Windows โดยใช้ Command Prompt

เพื่อปิดเครื่อง Windows คอมพิวเตอร์ของคุณ ให้ใช้คำสั่ง shutdown พร้อม key /s

shutdown /s

Reboot Windows จาก CMD

เพื่อรีสตาร์ทคอมพิวเตอร์ของคุณ ให้ใช้พารามิเตอร์ /r หลังจากรัน Windows จะถูก restart อย่าง graceful

shutdown /r

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

จบ User Session

เพื่อจบ current user session (logoff) ให้รันคำสั่งนี้:

shutdown /l

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

คำสั่งนี้ทำงานเหมือนคำสั่ง logoff.exe

วิธี Hibernate Windows

เพื่อ hibernate คอมพิวเตอร์ของคุณ ให้รันคำสั่งนี้:

shutdown /h

ใน hibernate mode เนื้อหา memory ทั้งหมดถูกเขียนลงไฟล์ hiberfil.sys บน local disk และคอมพิวเตอร์ถูกวางใน sleep mode ดังนั้นลดการบริโภคพลังงาน

วิธีแจ้งเตือนผู้ใช้ที่ล็อกอินอยู่ ก่อน Reboot หรือ Shutdown

คุณสามารถแจ้งเตือนผู้ใช้ Windows ที่ล็อกอินอยู่ทั้งหมดเกี่ยวกับ shutdown/reboot ที่จะมาถึงของคอมพิวเตอร์หรือเซิร์ฟเวอร์โดยการส่งข้อความไปยัง active sessions ทั้งหมด โดยทั่วไป คุณสมบัตินี้ใช้บน RDS servers ที่มีผู้ใช้หลายคนทำงานบนพวกเขาพร้อมกันใน RDP sessions ของตนเอง

shutdown /r /c “This server will be restarted in 60 seconds.”

Delayed Shutdown/Reboot ของคอมพิวเตอร์โดยใช้ Timer

คุณสามารถ shutdown หรือ restart คอมพิวเตอร์ด้วยความล่าช้าบางอย่าง (บน timer) โดยใช้ตัวเลือก /t คุณสามารถระบุช่วงเวลาหลังจากนั้นคอมพิวเตอร์/เซิร์ฟเวอร์จะถูก shutdown หรือ rebooted ดังนั้นคุณสามารถให้เวลาบางอย่างแก่ผู้ใช้เพื่อบันทึก open files และปิด apps อย่างถูกต้อง สะดวกที่จะใช้ตัวเลือกนี้ร่วมกับข้อความแจ้งเตือน ในตัวอย่างนี้ เราแจ้งเตือนผู้ใช้ว่า Windows จะถูก shutdown ใน 10 นาที (600 วินาที)

shutdown /s /t 600 /c "The server will be shutdown in 10 minutes. Save your work!"

ผู้ใช้จะเห็นการแจ้งเตือนเกี่ยวกับการ shutdown ที่วางแผนไว้:

You’re about to be signed out

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

หากความล่าช้ายาวเกินไป สมมติ 100 นาที (6,000 วินาที) popup window จะปรากฏในมุมล่างขวาของหน้าจอ: You’re about to be signed out. Your Windows will shutdown in 100 minutes.

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

ยกเลิก Windows Shutdown หรือ Restart

หลังจากรันคำสั่ง Windows shutdown หรือ reboot shutdown tool จะรอ 60 วินาทีโดยค่าเริ่มต้นโดยไม่ทำอะไร ผู้ดูแลระบบสามารถยกเลิกการ restart หรือ shutdown ของอุปกรณ์ได้โดยการรันคำสั่งนี้ในช่วงเวลานี้:

shutdown /a

หลังจากยกเลิก shutdown คุณจะเห็น popup window ต่อไปนี้ในมุมล่างขวาของหน้าจอ: Logoff is cancelled. The scheduled shutdown has been cancelled.

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

บังคับ Immediate Restart ของคอมพิวเตอร์

เพื่อ shutdown หรือ reboot คอมพิวเตอร์ทันทีโดยไม่รอ 60 วินาที ให้ระบุ 0 เป็นค่าของพารามิเตอร์ /t ตัวอย่างเช่น เพื่อ restart คอมพิวเตอร์ทันที:

shutdown /r /t 0

Key /f สำคัญมาก ผมเกือบใช้เสมอเมื่อ shutdown หรือ restart Windows servers แอตทริบิวต์นี้บังคับปิดโปรแกรมและกระบวนการที่ทำงานอยู่ทั้งหมดโดยไม่ต้องยืนยันจากผู้ใช้ (เราจะไม่รอจนกว่าผู้ใช้จะยืนยันการปิดแอปพลิเคชันทั้งหมดบน RDS server เนื่องจากเราจะไม่ได้รับมันเลย)

คำสั่งถัดไปจะ restart คอมพิวเตอร์และรัน registered apps ทั้งหมดหลัง restart อัตโนมัติ (apps ที่ลงทะเบียนในระบบโดยใช้ RegisterApplicationRestart API)

shutdown /g

วิธี Remote Shutdown หรือ Restart Windows Computers

คุณสามารถ reboot คอมพิวเตอร์ระยะไกลได้หากคุณมี network access ไปยังมัน และบัญชีที่คุณใช้รันคำสั่ง shutdown ต้องเป็นสมาชิกของ local administrators group บนคอมพิวเตอร์ระยะไกล (เซิร์ฟเวอร์):

shutdown /r /t 120 /m \\192.168.1.210

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

หากเงื่อนไขทั้งหมดที่อธิบายข้างต้นเป็นจริง แต่เมื่อรันคำสั่ง shutdown ข้อผิดพลาด "Access denied (5)" ปรากฏ ให้อนุญาต remote access ไปยัง admin shares (C$, ADMIN$) บนคอมพิวเตอร์ระยะไกลโดยการเปลี่ยนค่า LocalAccountTokenFilterPolicy parameter เป็น 1

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f

หากคุณต้องการ restart หลายคอมพิวเตอร์ระยะไกล คุณสามารถบันทึกรายการคอมพิวเตอร์ลงในไฟล์ข้อความและรัน remote reboot ของคอมพิวเตอร์ทั้งหมดโดยใช้สคริปต์ PowerShell เรียบง่าย:

$sh_msg = "Your computer will be automatically restarted in 10 minutes. Save your files and close running apps"
$sh_delay = 600 # seconds
$computers = gc C:\PS\PC-list.txt
foreach ($comp in $computers)
{
& 'C:\Windows\System32\SHUTDOWN.exe' "-m \\$comp -r -c $sh_msg -t $sh_delay"
}

Shutdown Command Graphical Interface

ผู้ที่ไม่สะดวกทำงานใน command prompt สามารถใช้ graphical interface ของ shutdown.exe command ได้ เพื่อเรียก remote shutdown dialog ให้ใช้คำสั่ง:

shutdown /i

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

如你所見 คุณสามารถเพิ่มหลายคอมพิวเตอร์ใน remote shutdown dialog เพื่อ reboot/shutdown ระบุข้อความแจ้งเตือนและระบุเหตุผลของการ shutdown เพื่อบันทึกใน Windows event log

วิธี Reboot Computer โดยใช้ Shortcut

เพื่อทำให้สะดวกกว่าสำหรับผู้ใช้ คุณสามารถสร้าง shortcuts เพื่อ restart หรือ shutdown คอมพิวเตอร์ด้วยการตั้งค่าที่ต้องการบน desktop Shortcut อาจมีประโยชน์เมื่อคุณต้องการ restart คอมพิวเตอร์จาก RDP session เมื่อไม่มีตัวเลือก restart หรือ shutdown ในเมนู Start

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

หากคุณต้องการให้คอมพิวเตอร์หรือเซิร์ฟเวอร์ของคุณ restart/shutdown เวลาเฉพาะ คุณสามารถเพิ่มคำสั่ง shutdown พร้อมพารามิเตอร์ที่แน่นอนเข้าไปใน Windows Task Scheduler (taskschd.msc)

ตัวอย่างเช่น Scheduler task นี้จะ restart คอมพิวเตอร์ทุกวันเวลา 12 AM

ปิดเครื่อง/รีสตาร์ท Windows โดยใช้ Command Prompt (CMD)

หรือคุณสามารถสร้าง Scheduler task ใหม่ด้วย PowerShell:

$Trigger= New-ScheduledTaskTrigger -At 00:00am -Daily
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "–f –r –t 120"
Register-ScheduledTask -TaskName "RebootEvertyNight_PS" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force