3
ปัญหาเกี่ยวกับเซิร์ฟเวอร์การแพตช์จากระยะไกลโดยใช้ winrm และ Microsoft.Update.Session
ฉันมีเครือข่ายพร้อมเซิร์ฟเวอร์ windows 2003, 2008 และ 2008r2 ฉันมีสคริปต์ PowerShell ที่ฉันเขียนเพื่อแก้ไขเครื่องท้องถิ่นโดยใช้วัตถุ com "Microsoft.Update" (คล้ายกับการ อัปเดต PowerShell ของ Windows Update ) สคริปต์ของฉันทำงานได้อย่างน่าอัศจรรย์ในพื้นที่ แต่ฉันต้องการใช้ฟังก์ชั่นจากระยะไกลเนื่องจากฉันมีเซิร์ฟเวอร์จำนวนพอสมควรที่จะจัดการ ในกรณีนั้นมันจะล้มลง (คล้ายกับโพสต์อื่นซึ่งไม่ได้แก้ไข) อย่างไรก็ตามฉันสามารถจำกัดความล้มเหลวให้แคบลงได้ถึงสองวิธีในแต่ละชั้นเรียน (New-Object -ComObject "Microsoft.Update.Session").CreateUpdateDownloader() (New-Object -ComObject "Microsoft.Update.Session").CreateUpdateInstaller() หากคุณเรียกใช้สิ่งเหล่านี้ใน PowerShell ภายในเครื่องในฐานะผู้ดูแลระบบคุณจะไม่มีปัญหา หากคุณพยายามใช้คำสั่ง invoke-(หรือเข้าสู่เซสชันหรือ winrs) คุณจะได้รับข้อผิดพลาดดังต่อไปนี้ (นี่เป็นการทดสอบกับ localhost แต่โฮสต์ใดจะทำฉันได้ลองด้วยวิธีการรับรองความถูกต้องที่แตกต่างกันเช่น credssp และ kerberos); PS C:\> Invoke-Command -ComputerName localhost -ScriptBlock { (New-Object …