Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

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

Shutdown.exe เป็นเครื่องมือบรรทัดคำสั่งในตัวของ Windows ที่อนุญาตให้รีบูต ปิดระบบ ทำให้คอมพิวเตอร์เข้าสู่โหมดสลีป ไฮเบอร์เนต หรือสิ้นสุดเซสชันของผู้ใช้ ในคู่มือนี้ เราจะแสดงตัวอย่างพื้นฐานของการใช้คำสั่งปิดระบบใน Windows คำสั่งทั้งหมดที่กล่าวถึงข้างต้นจะรันในไดอะล็อกบ็อกซ์ Run — Win+R -> ในพรอมต์คำสั่ง (cmd.exe) หรือใน PowerShell

คำสั่งปิดระบบมีรูปแบบดังนี้:
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)

อย่างที่คุณเห็น คำสั่งมีตัวเลือกมากมาย และสามารถใช้เพื่อปิด/รีสตาร์ทคอมพิวเตอร์ในเครื่องหรือระยะไกลได้

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

ในการปิด Windows คอมพิวเตอร์ของคุณ ให้ใช้คำสั่งปิดเครื่องด้วย /s ที่สำคัญ

shutdown /s

รีบูต Windows จาก CMD

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

shutdown /r

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

สิ้นสุดเซสชันของผู้ใช้

หากต้องการสิ้นสุดเซสชันผู้ใช้ปัจจุบัน (ออกจากระบบ) ให้เรียกใช้คำสั่งนี้:

shutdown /l

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

คำสั่งนี้ทำงานในลักษณะเดียวกับ logoff.exe คำสั่ง

วิธีไฮเบอร์เนต Windows

ในการไฮเบอร์เนตคอมพิวเตอร์ของคุณ ให้เรียกใช้คำสั่งนี้:

shutdown /h

ในโหมดไฮเบอร์เนต เนื้อหาหน่วยความจำทั้งหมดจะถูกเขียนลงในไฟล์ hiberfil.sys บนดิสก์ภายในเครื่อง และคอมพิวเตอร์จะเข้าสู่โหมดสลีปซึ่งจะช่วยลดการใช้พลังงาน

จะแจ้งผู้ใช้ที่เข้าสู่ระบบก่อนรีบูตหรือปิดเครื่องได้อย่างไร

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

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

ล่าช้าในการปิดเครื่อง/รีบูตเครื่องคอมพิวเตอร์โดยใช้ตัวจับเวลา

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

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

ผู้ใช้จะเห็นการแจ้งเตือนเกี่ยวกับการปิดระบบตามแผน:

You’re about to be signed out

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

หากการหน่วงเวลานานเกินไป เช่น 100 นาที (6,000 วินาที) หน้าต่างป๊อปอัปจะปรากฏขึ้นที่มุมล่างขวาของหน้าจอ:คุณกำลังจะออกจากระบบ Windows ของคุณจะปิดใน 100 นาที

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

ยกเลิกการปิดเครื่องหรือรีสตาร์ท Windows

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

shutdown /a

หลังจากที่คุณยกเลิกการปิดเครื่อง คุณจะเห็นหน้าต่างป๊อปอัปต่อไปนี้ที่มุมล่างขวาของหน้าจอ:ออกจากระบบจะถูกยกเลิก การปิดระบบตามกำหนดเวลาถูกยกเลิก

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

บังคับให้คอมพิวเตอร์รีสตาร์ททันที

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

shutdown /r /t 0

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

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

shutdown /g

อยากปิดเครื่องหรือรีสตาร์ทคอมพิวเตอร์ Windows จากระยะไกลไหม

คุณสามารถรีบูตเครื่องคอมพิวเตอร์ระยะไกลได้หากคุณมีสิทธิ์เข้าถึงเครือข่าย และบัญชีที่คุณใช้เพื่อเรียกใช้คำสั่งปิดเครื่องจะต้องเป็นสมาชิกของกลุ่มผู้ดูแลระบบภายในเครื่องคอมพิวเตอร์ระยะไกล (เซิร์ฟเวอร์):

shutdown /r /t 120 /m \\192.168.1.210

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

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

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

หากคุณต้องการรีสตาร์ทคอมพิวเตอร์หลายเครื่องจากระยะไกล คุณสามารถบันทึกรายการคอมพิวเตอร์ลงในไฟล์ข้อความและเรียกใช้การรีบูตคอมพิวเตอร์ทุกเครื่องจากระยะไกลโดยใช้สคริปต์ 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.exe หากต้องการเรียกกล่องโต้ตอบการปิดระบบจากระยะไกล ให้ใช้คำสั่ง:

shutdown /i

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

อย่างที่คุณเห็น คุณสามารถเพิ่มคอมพิวเตอร์หลายเครื่องในกล่องโต้ตอบการปิดระบบจากระยะไกลเพื่อรีบูต/ปิดเครื่อง ระบุข้อความแจ้งเตือน และระบุสาเหตุของการปิดระบบที่จะบันทึกไว้ในบันทึกเหตุการณ์ของ Windows

วิธีการรีบูตคอมพิวเตอร์โดยใช้ทางลัด

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

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

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

ตัวอย่างเช่น งานตัวจัดกำหนดการนี้จะรีสตาร์ทคอมพิวเตอร์ทุกวันเวลา 12.00 น.

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

หรือคุณสามารถสร้างงานตัวจัดกำหนดการใหม่ด้วย 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