รีโมทของ Windows PowerShell
การควบคุมระยะไกลของ Windows PowerShell ซึ่งใช้โปรโตคอล WS-Management ช่วยให้คุณสามารถเรียกใช้คำสั่ง Windows PowerShell บนคอมพิวเตอร์ระยะไกลหนึ่งเครื่องหรือหลายเครื่อง มันช่วยให้คุณสร้างการเชื่อมต่อแบบถาวรเริ่มเซสชันแบบโต้ตอบ 1: 1 และเรียกใช้สคริปต์บนคอมพิวเตอร์หลายเครื่อง ในการใช้รีโมทของ Windows PowerShell คอมพิวเตอร์ระยะไกลจะต้องได้รับการกำหนดค่าสำหรับการจัดการระยะไกล หลังจากที่คุณได้กำหนดค่า Windows PowerShell remoting แล้วคุณสามารถใช้กลยุทธ์การ remoting มากมาย ส่วนที่เหลือของเอกสารนี้แสดงรายการเพียงไม่กี่รายการ
เริ่มเซสชันแบบโต้ตอบ
หากต้องการเริ่มเซสชันแบบโต้ตอบด้วยคอมพิวเตอร์ระยะไกลเครื่องเดียวให้ใช้ Enter-PSSession cmdlet ตัวอย่างเช่นเมื่อต้องการเริ่มเซสชันแบบโต้ตอบกับคอมพิวเตอร์ระยะไกล Server01 ให้พิมพ์:
Enter-PSSession Server01
พรอมต์คำสั่งจะเปลี่ยนเพื่อแสดงชื่อของคอมพิวเตอร์ที่คุณเชื่อมต่อ จากนั้นเป็นต้นไปคำสั่งใด ๆ ที่คุณพิมพ์ที่พรอมต์เรียกใช้บนคอมพิวเตอร์ระยะไกลและผลลัพธ์จะปรากฏบนเครื่องคอมพิวเตอร์
หากต้องการสิ้นสุดเซสชันการโต้ตอบให้พิมพ์:
Exit-PSSession
เรียกใช้คำสั่งระยะไกล
หากต้องการเรียกใช้คำสั่งใด ๆ บนคอมพิวเตอร์ระยะไกลหนึ่งเครื่องหรือหลายเครื่องให้ใช้คำสั่ง Invoke-Command ตัวอย่างเช่นเมื่อต้องการรันคำสั่ง Get-UICulture บนคอมพิวเตอร์ระยะไกล Server01 และ Server02 ให้พิมพ์:
invoke-command -computername Server01, Server02 {get-UICulture}
ผลลัพธ์จะถูกส่งกลับไปยังคอมพิวเตอร์ของคุณ
LCID Name DisplayName PSComputerName
---- ---- ----------- --------------
1033 en-US English (United States) server01.corp.fabrikam.com
1033 en-US English (United States) server02.corp.fabrikam.com
เรียกใช้สคริปต์
ในการรันสคริปต์บนคอมพิวเตอร์ระยะไกลหนึ่งเครื่องหรือหลายเครื่องให้ใช้พารามิเตอร์ FilePath ของ Invoke-Command cmdlet สคริปต์ต้องเปิดอยู่หรือสามารถเข้าถึงได้ในคอมพิวเตอร์ของคุณ ผลลัพธ์จะถูกส่งคืนไปยังคอมพิวเตอร์ของคุณ
ตัวอย่างเช่นคำสั่งต่อไปนี้เรียกใช้สคริปต์ DiskCollect.ps1 บนคอมพิวเตอร์ระยะไกล Server01 และ Server02
invoke-command -computername Server01, Server02 -filepath c:\Scripts\DiskCollect.ps1
สร้างการเชื่อมต่อแบบถาวร
เมื่อต้องการเรียกใช้ชุดคำสั่งที่เกี่ยวข้องที่ใช้ข้อมูลร่วมกันสร้างเซสชันบนคอมพิวเตอร์ระยะไกลแล้วใช้ Invoke-Command cmdlet เพื่อเรียกใช้คำสั่งในเซสชันที่คุณสร้าง หากต้องการสร้างเซสชันระยะไกลให้ใช้ New-PSSession cmdlet
ตัวอย่างเช่นคำสั่งต่อไปนี้สร้างเซสชันระยะไกลบนคอมพิวเตอร์ Server01 และเซสชันระยะไกลอื่นบนคอมพิวเตอร์ Server02 มันจะบันทึกวัตถุเซสชันในตัวแปร $ s
$s = new-pssession -computername Server01, Server02
ตอนนี้เซสชันถูกสร้างขึ้นแล้วคุณสามารถเรียกใช้คำสั่งใด ๆ ในพวกเขา และเนื่องจากเซสชันยังคงอยู่คุณสามารถรวบรวมข้อมูลในหนึ่งคำสั่งและใช้ในคำสั่งต่อมา
ตัวอย่างเช่นคำสั่งต่อไปนี้รันคำสั่ง Get-Hotfix ในเซสชันในตัวแปร $ s และบันทึกผลลัพธ์ในตัวแปร $ h ตัวแปร $ h ถูกสร้างขึ้นในแต่ละเซสชันใน $ s แต่ไม่มีอยู่ในโลคัลเซสชัน
invoke-command -session $s {$h = get-hotfix}
ตอนนี้คุณสามารถใช้ข้อมูลในตัวแปร $ h ในคำสั่งที่ตามมาเช่นคำสั่งต่อไปนี้ ผลลัพธ์จะปรากฏบนเครื่องคอมพิวเตอร์
invoke-command -session $s {$h | where {$_.installedby -ne "NTAUTHORITY\SYSTEM"} }