วิธีการเรียกใช้คำสั่ง PowerShell บนคอมพิวเตอร์ระยะไกล
PowerShell Remoting ช่วยให้คุณเรียกใช้คำสั่ง PowerShell หรือเข้าถึงเซสชัน PowerShell แบบเต็มในระบบ Windows ระยะไกล มันคล้ายกับ SSH สำหรับการเข้าถึงเทอร์มินัลระยะไกลบนระบบปฏิบัติการอื่น.
PowerShell ถูกล็อคไว้ตามค่าเริ่มต้นดังนั้นคุณจะต้องเปิดใช้งาน PowerShell Remoting ก่อนใช้งาน กระบวนการตั้งค่านี้ซับซ้อนกว่านี้เล็กน้อยหากคุณใช้เวิร์กกรุ๊ปแทนโดเมน - ตัวอย่างเช่นบนเครือข่ายในบ้าน - แต่เราจะแนะนำคุณตลอด.
เปิดการใช้งาน PowerShell Remoting บนพีซีที่คุณต้องการเข้าถึงจากระยะไกล
ขั้นตอนแรกของคุณคือการเปิดใช้งาน PowerShell Remoting บนพีซีที่คุณต้องการทำการเชื่อมต่อระยะไกล ในพีซีนั้นคุณจะต้องเปิด PowerShell ด้วยสิทธิ์ระดับผู้ดูแล.
ใน Windows 10 กด Windows + X จากนั้นเลือก PowerShell (Admin) จากเมนู Power User.
ใน Windows 7 หรือ 8 กดเริ่มแล้วพิมพ์“ powershell” คลิกขวาที่ผลลัพธ์แล้วเลือก“ Run as administrator”
ในหน้าต่าง PowerShell ให้พิมพ์ cmdlet ต่อไปนี้ (ชื่อของ PowerShell สำหรับคำสั่ง) แล้วกด Enter:
Enable-PSRemoting -Force
คำสั่งนี้เริ่มบริการ WinRM ตั้งค่าให้เริ่มโดยอัตโนมัติกับระบบของคุณและสร้างกฎไฟร์วอลล์ที่อนุญาตการเชื่อมต่อขาเข้า -บังคับ
ส่วนหนึ่งของ cmdlet บอกให้ PowerShell ดำเนินการเหล่านี้โดยไม่ต้องแจ้งให้คุณทราบในแต่ละขั้นตอน.
หากพีซีของคุณเป็นส่วนหนึ่งของโดเมนนั่นคือการตั้งค่าทั้งหมดที่คุณต้องทำ คุณสามารถข้ามไปข้างหน้าเพื่อทดสอบการเชื่อมต่อของคุณ หากคอมพิวเตอร์ของคุณเป็นส่วนหนึ่งของเวิร์กกรุ๊ปซึ่งอาจอยู่ในเครือข่ายที่บ้านหรือธุรกิจขนาดเล็กคุณมีงานติดตั้งอีกเล็กน้อย.
หมายเหตุ: ความสำเร็จของคุณในการตั้งค่าการควบคุมระยะไกลในสภาพแวดล้อมโดเมนขึ้นอยู่กับการตั้งค่าเครือข่ายของคุณ การควบคุมระยะไกลอาจถูกปิดใช้งานหรือแม้กระทั่งเปิดใช้งานโดยอัตโนมัติตามนโยบายกลุ่มที่กำหนดค่าโดยผู้ดูแลระบบ คุณอาจไม่มีสิทธิ์ที่จำเป็นในการเรียกใช้ PowerShell ในฐานะผู้ดูแลระบบ เช่นเคยตรวจสอบกับผู้ดูแลระบบของคุณก่อนที่คุณจะลองทำอะไรเช่นนี้ พวกเขาอาจมีเหตุผลที่ดีที่ไม่อนุญาตให้มีการฝึกฝนหรือพวกเขาอาจเต็มใจที่จะจัดเตรียมให้คุณ.
ตั้งค่าเวิร์กกรุ๊ปของคุณ
หากคอมพิวเตอร์ของคุณไม่ได้อยู่ในโดเมนคุณจะต้องดำเนินการอีกสองสามขั้นตอนเพื่อตั้งค่าต่างๆ คุณควรเปิดใช้งาน Remoting บนพีซีที่คุณต้องการเชื่อมต่อแล้วตามที่เราอธิบายไว้ในส่วนก่อนหน้า.
หมายเหตุ: สำหรับ PowerShell Remoting เพื่อทำงานในสภาพแวดล้อมเวิร์กกรุ๊ปคุณต้องกำหนดค่าเครือข่ายของคุณเป็นเครือข่ายส่วนตัวไม่ใช่สาธารณะ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างและวิธีการเปลี่ยนเป็นเครือข่ายส่วนตัวหากคุณมีเครือข่ายสาธารณะอยู่แล้วให้ตรวจสอบคำแนะนำของเราเกี่ยวกับเครือข่ายส่วนตัวกับสาธารณะ.
ถัดไปคุณต้องกำหนดการตั้งค่า TrustedHosts บนทั้งพีซีที่คุณต้องการเชื่อมต่อ และ พีซี (หรือพีซี) ที่คุณต้องการเชื่อมต่อดังนั้นคอมพิวเตอร์จะไว้วางใจซึ่งกันและกัน คุณสามารถทำได้หนึ่งในสองวิธี.
หากคุณอยู่ในเครือข่ายในบ้านที่คุณต้องการดำเนินการต่อและเชื่อใจได้ว่าพีซีใด ๆ ที่จะเชื่อมต่อจากระยะไกลคุณสามารถพิมพ์ cmdlet ต่อไปนี้ใน PowerShell (อีกครั้งคุณจะต้องเรียกใช้ในฐานะผู้ดูแลระบบ).
wsman ชุดรายการ: \ localhost \ client \ Trustedhosts *
เครื่องหมายดอกจันเป็นสัญลักษณ์แทนสำหรับพีซีทุกเครื่อง หากคุณต้องการ จำกัด คอมพิวเตอร์ที่สามารถเชื่อมต่อแทนคุณสามารถแทนที่เครื่องหมายดอกจันด้วยรายการที่อยู่ IP หรือชื่อคอมพิวเตอร์ที่คั่นด้วยเครื่องหมายจุลภาคสำหรับพีซีที่ได้รับอนุมัติ.
หลังจากเรียกใช้คำสั่งนั้นคุณจะต้องเริ่มบริการ WinRM ใหม่เพื่อให้การตั้งค่าใหม่ของคุณมีผล พิมพ์ cmdlet ต่อไปนี้จากนั้นกด Enter:
เริ่มบริการ WinRM ใหม่
และจำไว้ว่าคุณจะต้องเรียกใช้สอง cmdlets เหล่านั้นบนพีซีที่คุณต้องการเชื่อมต่อรวมถึงบนพีซีที่คุณต้องการเชื่อมต่อ.
ทดสอบการเชื่อมต่อ
เมื่อคุณตั้งค่าพีซีของคุณสำหรับ PowerShell Remoting ได้แล้วถึงเวลาทดสอบการเชื่อมต่อแล้ว บนพีซีที่คุณต้องการเข้าถึงระบบระยะไกลให้พิมพ์ cmdlet ต่อไปนี้ลงใน PowerShell (แทนที่“ COMPUTER” ด้วยชื่อหรือที่อยู่ IP ของพีซีระยะไกล) จากนั้นกด Enter:
คอมพิวเตอร์ทดสอบ WsMan
คำสั่งง่ายๆนี้ทดสอบว่าบริการ WinRM ทำงานบนพีซีระยะไกลหรือไม่ หากทำสำเร็จแล้วคุณจะเห็นข้อมูลเกี่ยวกับบริการ WinRM ของคอมพิวเตอร์ระยะไกลในหน้าต่างระบุว่า WinRM เปิดใช้งานและพีซีของคุณสามารถสื่อสารได้ หากคำสั่งล้มเหลวคุณจะเห็นข้อความแสดงข้อผิดพลาดแทน.
ดำเนินการคำสั่งระยะไกลเดียว
ในการรันคำสั่งบนระบบรีโมตให้ใช้ เรียก-คำสั่ง
cmdlet ใช้ไวยากรณ์ต่อไปนี้:
เรียกใช้คำสั่ง - ชื่อคอมพิวเตอร์คอมพิวเตอร์ -ScriptBlock COMMAND -Credential USERNAME
“ คอมพิวเตอร์” หมายถึงชื่อหรือที่อยู่ IP ของพีซีระยะไกล “ คำสั่ง” เป็นคำสั่งที่คุณต้องการเรียกใช้ “ USERNAME” เป็นชื่อผู้ใช้ที่คุณต้องการเรียกใช้คำสั่งเช่นเดียวกับบนคอมพิวเตอร์ระยะไกล คุณจะได้รับแจ้งให้ป้อนรหัสผ่านสำหรับชื่อผู้ใช้.
นี่คือตัวอย่าง ฉันต้องการดูเนื้อหาของไดเรกทอรี C: \ บนคอมพิวเตอร์ระยะไกลที่มีที่อยู่ IP 10.0.0.22 ฉันต้องการใช้ชื่อผู้ใช้“ wjgle” ดังนั้นฉันจะใช้คำสั่งต่อไปนี้:
เรียกใช้คำสั่ง - ชื่อคอมพิวเตอร์ 10.0.0.22 -ScriptBlock Get-ChildItem C: \ -credential wjgle
เริ่มเซสชันระยะไกล
หากคุณมี cmdlet หลายตัวที่คุณต้องการเรียกใช้บนพีซีระยะไกลแทนที่จะพิมพ์คำสั่ง Invoke-Command และที่อยู่ IP ระยะไกลซ้ำ ๆ คุณสามารถเริ่มเซสชันระยะไกลแทนได้ เพียงพิมพ์ cmdlet ต่อไปนี้จากนั้นกด Enter:
Enter-PSSession -ComputerName COMPUTER -Credential USER
อีกครั้งแทนที่ "คอมพิวเตอร์" ด้วยชื่อหรือที่อยู่ IP ของพีซีระยะไกลและแทนที่ "USER" ด้วยชื่อบัญชีผู้ใช้ที่คุณต้องการเรียกใช้.
พรอมต์ของคุณเปลี่ยนเพื่อระบุคอมพิวเตอร์ระยะไกลที่คุณเชื่อมต่ออยู่และคุณสามารถเรียกใช้ PowerShell cmdlet ได้โดยตรงบนระบบระยะไกล.