Stop-Computer (Microsoft.PowerShell.Management)
Stop-Computer
- โมดูล :
- Microsoft.PowerShell.Management
หยุด (ปิด) คอมพิวเตอร์ภายในและระยะไกล
ไวยากรณ์
Stop-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]คำอธิบาย
Stop-Computer cmdlet จะปิดเครื่องคอมพิวเตอร์เฉพาะที่และคอมพิวเตอร์ระยะไกล
คุณสามารถใช้พารามิเตอร์ของ Stop-Computer เพื่อระบุระดับการตรวจสอบสิทธิ์และข้อมูลรับรองอื่น และเพื่อบังคับให้ปิดเครื่องทันที
ใน PowerShell 7.1 มีการเพิ่ม Stop-Computer สำหรับ Linux และ macOS พารามิเตอร์ไม่มีผลกับแพลตฟอร์มเหล่านี้ cmdlet กำลังเรียกคำสั่งดั้งเดิม /sbin/shutdown
ตัวอย่าง
ตัวอย่างที่ 1: ปิดเครื่องคอมพิวเตอร์
ตัวอย่างนี้ปิดระบบคอมพิวเตอร์เฉพาะที่
Stop-Computer -ComputerName localhostตัวอย่างที่ 2: ปิดคอมพิวเตอร์ระยะไกลสองเครื่องและคอมพิวเตอร์ในระบบ
ตัวอย่างนี้หยุดคอมพิวเตอร์ระยะไกลสองเครื่องและคอมพิวเตอร์เฉพาะที่
Stop-Computer -ComputerName "Server01", "Server02", "localhost"Stop-Computer ใช้พารามิเตอร์ ComputerName เพื่อระบุคอมพิวเตอร์ระยะไกลสองเครื่องและคอมพิวเตอร์เฉพาะที่ คอมพิวเตอร์แต่ละเครื่องปิดตัวลง
ตัวอย่างที่ 3: ปิดเครื่องคอมพิวเตอร์ระยะไกลเป็นงานเบื้องหลัง
ในตัวอย่างนี้ Stop-Computer ทำงานเป็นงานพื้นหลังบนคอมพิวเตอร์ระยะไกลสองเครื่อง
ตัวดำเนินการพื้นหลัง & รันคำสั่ง Stop-Computer เป็นงานพื้นหลัง สำหรับข้อมูลเพิ่มเติม โปรดดูที่ about_Operators
$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$resultsStop-Computer ใช้พารามิเตอร์ ComputerName เพื่อระบุคอมพิวเตอร์ระยะไกลสองเครื่อง ตัวดำเนินการพื้นหลัง & รันคำสั่งเป็นงานพื้นหลัง ออบเจ็กต์งานจะถูกเก็บไว้ในตัวแปร $j
ออบเจ็กต์งานในตัวแปร $j จะถูกส่งไปตามไปป์ไลน์ไปยัง Receive-Job ซึ่งจะได้รับผลลัพธ์ของงาน วัตถุจะถูกเก็บไว้ในตัวแปร $results ตัวแปร $results แสดงข้อมูลงานในคอนโซล PowerShell
ตัวอย่างที่ 4: ปิดเครื่องคอมพิวเตอร์ระยะไกล
ตัวอย่างนี้ปิดคอมพิวเตอร์ระยะไกลโดยใช้การรับรองความถูกต้องที่ระบุ
Stop-Computer -ComputerName "Server01" -WsmanAuthentication KerberosStop-Computer ใช้พารามิเตอร์ ComputerName เพื่อระบุคอมพิวเตอร์ระยะไกล พารามิเตอร์ WsmanAuthentication ระบุให้ใช้ Kerberos เพื่อสร้างการเชื่อมต่อระยะไกล
ตัวอย่างที่ 5: ปิดเครื่องคอมพิวเตอร์ในโดเมน
ในตัวอย่างนี้ คำสั่งบังคับให้ปิดคอมพิวเตอร์ทุกเครื่องในโดเมนที่ระบุทันที
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $cGet-Content ใช้พารามิเตอร์ Path เพื่อรับไฟล์ในไดเร็กทอรีปัจจุบันพร้อมรายชื่อคอมพิวเตอร์ในโดเมน วัตถุจะถูกเก็บไว้ในตัวแปร $s
Get-Credential ใช้พารามิเตอร์ Credential เพื่อระบุข้อมูลรับรองของผู้ดูแลระบบโดเมน ข้อมูลประจำตัวจะถูกเก็บไว้ในตัวแปร $c
Stop-Computer ปิดคอมพิวเตอร์ที่ระบุด้วยรายการคอมพิวเตอร์ของพารามิเตอร์ ComputerName ในตัวแปร $s พารามิเตอร์ บังคับ บังคับให้ปิดเครื่องทันที พารามิเตอร์ ข้อมูลรับรอง ส่งข้อมูลรับรองที่บันทึกไว้ในตัวแปร $c
พารามิเตอร์
-ComputerName
ระบุคอมพิวเตอร์ที่จะหยุด ค่าเริ่มต้นคือเครื่องคอมพิวเตอร์
พิมพ์ชื่อ NETBIOS ที่อยู่ IP หรือชื่อโดเมนแบบเต็มของคอมพิวเตอร์ตั้งแต่หนึ่งเครื่องขึ้นไปในรายการที่คั่นด้วยเครื่องหมายจุลภาค เมื่อต้องการระบุเครื่องคอมพิวเตอร์ ให้พิมพ์ชื่อคอมพิวเตอร์หรือ localhost
พารามิเตอร์นี้ไม่ต้องอาศัยการทำงานระยะไกลของ PowerShell คุณสามารถใช้พารามิเตอร์ ชื่อคอมพิวเตอร์ ได้ แม้ว่าคอมพิวเตอร์ของคุณจะไม่ได้กำหนดค่าให้เรียกใช้คำสั่งระยะไกลก็ตาม
- พิมพ์ :
String[]
- นามแฝง :
CN, __SERVER, Server, IPAddress
- ตำแหน่ง:
0
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
-
True
- ยอมรับอักขระตัวแทน:
False
-Confirm
แจ้งให้คุณยืนยันก่อนเรียกใช้ cmdlet
- พิมพ์ :
SwitchParameter
- นามแฝง :
cf
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
False
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-Credential
ระบุบัญชีผู้ใช้ที่มีสิทธิ์ในการดำเนินการนี้ ค่าเริ่มต้นคือผู้ใช้ปัจจุบัน
พิมพ์ชื่อผู้ใช้ เช่น User01 หรือ Domain01\User01 หรือป้อนวัตถุ PSCredential ที่สร้างโดย Get-Credential รหัส> cmdlet. หากคุณพิมพ์ชื่อผู้ใช้ คุณจะได้รับแจ้งให้ป้อนรหัสผ่าน
ข้อมูลประจำตัวจะถูกจัดเก็บไว้ในวัตถุ PSCredential และรหัสผ่านจะถูกจัดเก็บเป็น SecureString
บันทึก
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการปกป้องข้อมูล SecureString โปรดดู SecureString มีความปลอดภัยเพียงใด
- พิมพ์ :
PSCredential
- ตำแหน่ง:
1
- ค่าเริ่มต้น:
ผู้ใช้ปัจจุบัน
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-Force
บังคับให้ปิดคอมพิวเตอร์ทันที
- พิมพ์ :
SwitchParameter
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
False
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-WhatIf
แสดงสิ่งที่จะเกิดขึ้นหาก cmdlet ทำงาน cmdlet ไม่ทำงาน
- พิมพ์ :
SwitchParameter
- นามแฝง :
wi
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
False
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-WsmanAuthentication
ระบุกลไกที่ใช้ในการตรวจสอบข้อมูลประจำตัวของผู้ใช้เมื่อ cmdlet นี้ใช้โปรโตคอล WSMan ค่าเริ่มต้นคือ ค่าเริ่มต้น
ค่าที่ยอมรับได้สำหรับพารามิเตอร์นี้คือ:
- ขั้นพื้นฐาน
- เครดิตเอสเอสพี
- ค่าเริ่มต้น
- แยกแยะ
- เคอร์เบรอส
- ต่อรอง.
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับค่าของพารามิเตอร์นี้ โปรดดูที่ AuthenticationMechanism
คำเตือน
การตรวจสอบสิทธิ์ Credential Security Service Provider (CredSSP) ซึ่งข้อมูลประจำตัวผู้ใช้จะถูกส่งไปยังคอมพิวเตอร์ระยะไกลเพื่อตรวจสอบสิทธิ์ ได้รับการออกแบบมาสำหรับคำสั่งที่ต้องการการตรวจสอบสิทธิ์บนทรัพยากรมากกว่าหนึ่งรายการ เช่น การเข้าถึงการแชร์เครือข่ายระยะไกล กลไกนี้เพิ่มความเสี่ยงด้านความปลอดภัยของการดำเนินการระยะไกล หากคอมพิวเตอร์ระยะไกลถูกบุกรุก ข้อมูลประจำตัวที่ถูกส่งผ่านไปจะสามารถใช้เพื่อควบคุมเซสชันเครือข่ายได้
พารามิเตอร์นี้ถูกนำมาใช้ใน PowerShell 3.0
- พิมพ์ :
String
- ค่าที่ยอมรับ:
ค่าเริ่มต้น, พื้นฐาน, เจรจาต่อรอง, CredSSP, ไดเจสต์, Kerberos
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
ค่าเริ่มต้น
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
อินพุต
ไม่มี
คุณไม่สามารถไปป์วัตถุกับ cmdlet นี้
เอาท์พุต
ไม่มี
cmdlet นี้ส่งคืนไม่มีผลลัพธ์
หมายเหตุ
cmdlet นี้ใช้วิธี Win32Shutdown ของคลาส WMI Win32_OperatingSystem วิธีการนี้จำเป็นต้องเปิดใช้งานสิทธิ์ SeShutdownPrivilege สำหรับบัญชีผู้ใช้ที่ใช้ในการปิดเครื่อง
ใน PowerShell 7.1 มีการเพิ่ม Stop-Computer สำหรับ Linux และ macOS สำหรับแพลตฟอร์มเหล่านี้ cmdlet เรียกคำสั่งดั้งเดิม /sbin/shutdown