ไม่สามารถเรียกใช้คำสั่งจาก Server 2012 R2 ถึง Windows 8


1

ฉันพยายามเรียกใช้invoke-commandเซิร์ฟเวอร์เสมือนจาก Windows Server 2012 เป็น Windows 8 เสมือน เครื่องจักรอยู่ในโดเมนเดียวกันและในซับเน็ตเดียวกัน ฉันรันEnable-PSRemoting -forceคำสั่งบนเครื่อง Windows 8 และได้รับผลลัพธ์ต่อไปนี้:

WinRM has been updated to receive requests. 
WinRM service type changed successfully. 
WinRM service started.

WinRM has been updated for remote management. 
Created a WinRM listener on HTTP://* to accept WS-Man requests to any IP on this machine. 
WinRM firewall exception enabled.

อย่างไรก็ตามเมื่อฉันกลับไปที่เซิร์ฟเวอร์และพยายามinvoke-commandฉันได้รับข้อผิดพลาดนี้:

[WINDOWS8VIRTUAL] Connecting to remote server WINDOWS8VIRTUAL failed with the following error message : WinRM cannot complete the operation. Verify that the specified computer name is valid, that the computer is accessible over the network, and that a firewall exception for the WinRM service is enabled and allows access from this computer. By default, the WinRM firewall exception for public profiles limits access to remote computers within the same local subnet. For more information, see the about_Remote_Troubleshooting Help topic.
    + CategoryInfo          : OpenError: (WINDOWS8VIRTUAL:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : WinRMOperationTimeout,PSSessionStateBroken

ความคิดใด ๆ

คำตอบ:


1

จำเป็นต้องค้นหาสาเหตุของ WinRMOperationTimeout

เซิร์ฟเวอร์ windows 2012 ของคุณ & windows 8 สามารถสื่อสารกับ (ping) ซึ่งกันและกันได้หรือไม่

มีนโยบาย (กลุ่ม ฯลฯ ) FIREWALL RULEที่อาจป้องกันการเชื่อมต่อหรือไม่

โปรดให้รายละเอียดเพิ่มเติมและลองทำแบบทดสอบเหล่านี้:

  • ให้ผลลัพธ์ของ ipconfig / ทั้งหมดจากทั้งสองเครื่อง?
  • ตรวจสอบผลลัพธ์ของชื่อโฮสต์, whoami, ฯลฯ ชื่อนั้นตรงกับอินพุต PS ของคุณหรือไม่?
  • ใน AD (Active Directory) เครื่อง windows 8 ของคุณอยู่ในรายการคอมพิวเตอร์หรือหน่วยงานอื่นหรือไม่
  • ตรวจสอบการตั้งค่า WinRm ปัจจุบันของคุณใน PS: WinRM get WinRM/config
  • ตรวจสอบว่าพอร์ตเริ่มต้น WinRM (HTTP: 595, HTTPS: 5986) เปิดอยู่ในการกำหนดค่าไฟร์วอลล์
  • ทดสอบว่าบริการ WinRM กำลังทำงานอยู่บนเครื่องคอมพิวเตอร์หรือระยะไกล
  • ทำงานใน PS: Test-WSMan -computer "YOUR_TEST_PC_NAME"

นี่คือแหล่งข้อมูลเพิ่มเติมบางส่วน:


0

คุณต้องเปิดใช้งาน CredSSP (ผู้ให้การสนับสนุนการรับรองความปลอดภัย) เพื่อผ่านข้อมูลประจำตัว

บนเวิร์กสเตชันของคุณให้เรียกใช้คำสั่งนี้:

Enable-WSManCredSSP -Role Client -DelegateComputer *.yourdomain.com -Force

สิ่งนี้จะกำหนดค่าระบบของคุณให้ผ่านการรับรองความถูกต้อง CredSSP ไปยังคอมพิวเตอร์ระยะไกลบน yourdomain.com - แทนที่ ' .mydomain.com' คุณสามารถใช้ ' ' ไปยังคอมพิวเตอร์ผู้รับมอบสิทธิ์เพื่อเปิดใช้งาน CredSSP ไปยังคอมพิวเตอร์เครื่องใดก็ได้หรือ FQDN ของเซิร์ฟเวอร์ (ตัวอย่าง : 'someserver.mydomain.com') เพื่ออนุญาตการส่งผ่านข้อมูลรับรอง SSP ไปยังเซิร์ฟเวอร์นั้นเท่านั้น

บนเซิร์ฟเวอร์ของคุณเรียกใช้คำสั่งนี้:

Enable-WSMaCredSSP -Role Server –Force

สิ่งนี้กำหนดค่าเซิร์ฟเวอร์ของคุณให้ยอมรับการรับรองความถูกต้อง CredSSP จากคอมพิวเตอร์ระยะไกลใด ๆ

การเรียกใช้คำสั่งของคุณจากนั้นจะใช้สวิตช์เพิ่มเติมของ:

-Authentication CredSSP

ตัวอย่าง:

$cred = get-credential
Invoke-Command -credential $cred -Computer "TheServer" -Authentication CredSSP -ScriptBlock {do a thing}

0

เรียกใช้คำสั่งต่อไปนี้บนเซิร์ฟเวอร์ Windows:

winrm e winrm/config/listener

และตรวจสอบโฮสต์และพอร์ตที่บริการ WinRM กำลังรับฟังอยู่

พอร์ต HTTP เริ่มต้นคือ 5985 และพอร์ต HTTPS เริ่มต้นคือ 5986

จากนั้นตรวจสอบให้แน่ใจว่าเปิดใช้งานโดย:

winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Enabled="true"}

หากต้องการพิมพ์การตั้งค่าทั้งหมดให้เรียกใช้: WinRM get WinRM/config.

เพื่อทดสอบการให้บริการในท้องถิ่น, ทำงานใน test-wsman localhostPS:

หน้าเอกสาร: การติดตั้งและการกำหนดค่าสำหรับการจัดการระยะไกลของ Windows


หากคุณกำลังเชื่อมต่อกับอินสแตนซ์ Amazon EC2 ตรวจสอบให้แน่ใจว่าคุณได้ปลดบล็อกพอร์ตที่จำเป็นในกลุ่มความปลอดภัยของคุณสำหรับอินสแตนซ์นั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.