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

PowerShell Remoting: วิธีเชื่อมต่อกับโฮสต์ระยะไกลในโดเมนและในสภาพแวดล้อมที่ไม่ใช่โดเมน (โฮสต์ที่เชื่อถือได้)


ในบทความนี้ ฉันจะแสดงวิธีเชื่อมต่อกับโฮสต์ระยะไกล และวิธีกำหนดค่ารายการโฮสต์ที่เชื่อถือได้ เนื่องจากด้วยการเปิดตัว Windows Server Core และ Nanoserver ความสำคัญของ Windows PowerShell Remoting จึงเพิ่มขึ้น

สำหรับการทำงานระยะไกล คุณยังสามารถใช้เดสก์ท็อประยะไกลได้ ตามที่อธิบายไว้ในบทความของฉัน: วิธีเปิดใช้งานเดสก์ท็อประยะไกลและสร้างเซสชันเดสก์ท็อประยะไกล (Windows 10/Windows Server) แต่บทความนี้เป็นข้อมูลเกี่ยวกับ PowerShell Remoting

เข้าสู่ PSSession

ฉันเข้าสู่ระบบคอมพิวเตอร์ไคลเอนต์ในฐานะผู้ดูแลระบบโดเมน ตอนนี้ฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์ spagr02 ซึ่งอยู่ในโดเมนเดียวกันกับฉัน spagr02 กำลังเรียกใช้ Windows Server 2016 ใน Windows Server 2012/2016 Remote Management ถูกเปิดใช้งานตามค่าเริ่มต้น ใน Windows Server 2008 ให้รัน winrm qc เพื่อเปิดใช้งานการจัดการระยะไกล

Enter-PSSession -ComputerName spagr02

มันใช้งานได้เหมือนมีเสน่ห์ ในสภาพแวดล้อมของโดเมน

รายชื่อโฮสต์ที่เชื่อถือได้พร้อม IPv4

หากคอมพิวเตอร์ไม่ได้อยู่ในโดเมนที่ใช้ร่วมกัน ข้อมูลการรับรองความถูกต้องจะต้องมาพร้อมกับพารามิเตอร์ -credential และคอมพิวเตอร์ทั้งสองเครื่องจะต้องเชื่อถือซึ่งกันและกัน คีย์เวิร์ด: TrustedHosts!

เราต้องกำหนดค่า Trusted Hosts บนคอมพิวเตอร์ทั้งสองเครื่อง พวกเขาต้องเชื่อใจซึ่งกันและกันเพื่อสร้างการเชื่อมต่อระยะไกล

Set-Item wsman:\localhost\client\TrustedHosts -Value 192.168.0.103 -Force

จากนั้นลองเชื่อมต่อกับโฮสต์ระยะไกลโดยใช้พารามิเตอร์ข้อมูลรับรอง

Enter-PSSession -ComputerName HostName -Credential nano500\administrator

รายชื่อโฮสต์ที่เชื่อถือได้พร้อม IPv6

ในการกำหนดค่าโฮสต์ที่เชื่อถือได้ด้วย IPv6 เราต้องวาง IPv6 Link-Local Address ไว้ในวงเล็บ

Set-Item wsman:\localhost\client\TrustedHosts -Value [fe80::bc11:fa91:8674:99ba] -Force
Enter-PSSession -ComputerName fe80::bc11:fa91:8674:99ba -Credential nano500\administrator

ความปลอดภัยสูงเกินไป - กำหนดค่า * ?

รายชื่อโฮสต์ที่เชื่อถือได้สามารถตั้งค่าเป็น * ได้ จากนั้นคอมพิวเตอร์ทุกเครื่องจะสามารถสร้างเซสชันระยะไกลไปยังโฮสต์ได้

Set-Item wsman:\localhost\client\TrustedHosts -Value * -Force

ความคิดเพิ่มเติม

PowerShell Cmdlets ส่วนใหญ่รองรับพารามิเตอร์ -ComputerName สำหรับการตรวจสอบซอฟต์แวร์ที่ติดตั้งบนโฮสต์ระยะไกลระยะไกล จะง่ายกว่าในการเรียกใช้ One-Liner ด้วยพารามิเตอร์ -ComputerName แทนที่จะสร้างเซสชันระยะไกล: เซิร์ฟเวอร์ Windows: แสดงรายการบทบาทและคุณลักษณะที่ติดตั้งทั้งหมดโดยใช้ PowerShell

หากคุณไม่ชอบ SSH ให้ใช้ฟีเจอร์ระยะไกลในตัวของ PowerShell ซึ่งฉันได้อธิบายไว้ในบทความของฉัน: PowerShell: ใช้ SSH เพื่อเชื่อมต่อกับโฮสต์ระยะไกล (Posh-SSH)

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