ค้นหาเว็บไซต์

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
$results

Stop-Computer ใช้พารามิเตอร์ ComputerName เพื่อระบุคอมพิวเตอร์ระยะไกลสองเครื่อง ตัวดำเนินการพื้นหลัง & รันคำสั่งเป็นงานพื้นหลัง ออบเจ็กต์งานจะถูกเก็บไว้ในตัวแปร $j

ออบเจ็กต์งานในตัวแปร $j จะถูกส่งไปตามไปป์ไลน์ไปยัง Receive-Job ซึ่งจะได้รับผลลัพธ์ของงาน วัตถุจะถูกเก็บไว้ในตัวแปร $results ตัวแปร $results แสดงข้อมูลงานในคอนโซล PowerShell

ตัวอย่างที่ 4: ปิดเครื่องคอมพิวเตอร์ระยะไกล

ตัวอย่างนี้ปิดคอมพิวเตอร์ระยะไกลโดยใช้การรับรองความถูกต้องที่ระบุ

Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos

Stop-Computer ใช้พารามิเตอร์ ComputerName เพื่อระบุคอมพิวเตอร์ระยะไกล พารามิเตอร์ WsmanAuthentication ระบุให้ใช้ Kerberos เพื่อสร้างการเชื่อมต่อระยะไกล

ตัวอย่างที่ 5: ปิดเครื่องคอมพิวเตอร์ในโดเมน

ในตัวอย่างนี้ คำสั่งบังคับให้ปิดคอมพิวเตอร์ทุกเครื่องในโดเมนที่ระบุทันที

$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c

Get-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

บทความที่เกี่ยวข้อง