Score:0

Powershell Remote PSSession ล้มเหลว - บัญชีผู้ดูแลโดเมน - ข้อผิดพลาด 0x80090322

ธง br

ฉันกำลังแก้ไขปัญหาที่เซ็นเซอร์ PRTG ไม่รวบรวมข้อมูล Windows Update จากหนึ่งในเซิร์ฟเวอร์ของเรา มันใช้ WinRM และคำสั่ง PowerShell ระยะไกลเพื่อทำเช่นนั้น

เซิร์ฟเวอร์ 1 - เซิร์ฟเวอร์ปัญหา

เซิร์ฟเวอร์ 2 - เซิร์ฟเวอร์ที่ใช้งานได้

เมื่อฉันลองใช้ Enter-PSSession -ComputerName Server1 หรือ winrs -r:Server1 ผบ เพื่อทดสอบการเชื่อมต่อฉันได้รับข้อผิดพลาดต่อไปนี้:

PS C:\WINDOWS\system32> winrs -r:Server1 dir


ข้อผิดพลาดของ Winrs: WinRM ไม่สามารถดำเนินการตามคำขอได้ เกิดข้อผิดพลาดต่อไปนี้พร้อมรหัสข้อผิดพลาด 0x80090322 ขณะใช้การตรวจสอบสิทธิ์ Kerberos: เกิดข้อผิดพลาดด้านความปลอดภัยที่ไม่รู้จัก
 สาเหตุที่เป็นไปได้คือ:
  - ชื่อผู้ใช้หรือรหัสผ่านที่ระบุไม่ถูกต้อง
  -Kerberos จะใช้เมื่อไม่มีวิธีการตรวจสอบสิทธิ์และไม่มีการระบุชื่อผู้ใช้
  -Kerberos ยอมรับชื่อผู้ใช้โดเมน แต่ไม่ยอมรับชื่อผู้ใช้ภายในเครื่อง
  - ไม่มีชื่อบริการหลัก (SPN) สำหรับชื่อคอมพิวเตอร์ระยะไกลและพอร์ต
  -ไคลเอนต์และคอมพิวเตอร์ระยะไกลอยู่ในโดเมนที่แตกต่างกัน และไม่มีความเชื่อถือระหว่างสองโดเมน
 หลังจากตรวจสอบปัญหาข้างต้นแล้ว ให้ลองทำดังต่อไปนี้:
  - ตรวจสอบ Event Viewer สำหรับเหตุการณ์ที่เกี่ยวข้องกับการรับรองความถูกต้อง
  - เปลี่ยนวิธีการรับรองความถูกต้อง เพิ่มคอมพิวเตอร์ปลายทางไปยังการตั้งค่าการกำหนดค่า WinRM TrustedHosts หรือใช้การขนส่ง HTTPS
 โปรดทราบว่าคอมพิวเตอร์ในรายการ TrustedHosts อาจไม่ได้รับการรับรองความถูกต้อง
   - สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า WinRM ให้รันคำสั่งต่อไปนี้: winrm help config

PS C:\WINDOWS\system32> เข้าสู่ PSSession -ComputerName Server1
Enter-PSSession: การเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล Server1 ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้: WinRM ไม่สามารถดำเนินการตามคำขอได้ เดอะ
เกิดข้อผิดพลาดต่อไปนี้พร้อมรหัสข้อผิดพลาด 0x80090322 ขณะใช้การตรวจสอบสิทธิ์ Kerberos: เกิดข้อผิดพลาดด้านความปลอดภัยที่ไม่รู้จัก
 สาเหตุที่เป็นไปได้คือ:
  - ชื่อผู้ใช้หรือรหัสผ่านที่ระบุไม่ถูกต้อง
  -Kerberos จะใช้เมื่อไม่มีวิธีการตรวจสอบสิทธิ์และไม่มีการระบุชื่อผู้ใช้
  -Kerberos ยอมรับชื่อผู้ใช้โดเมน แต่ไม่ยอมรับชื่อผู้ใช้ภายในเครื่อง
  - ไม่มีชื่อบริการหลัก (SPN) สำหรับชื่อคอมพิวเตอร์ระยะไกลและพอร์ต
  -ไคลเอนต์และคอมพิวเตอร์ระยะไกลอยู่ในโดเมนที่แตกต่างกัน และไม่มีความเชื่อถือระหว่างสองโดเมน
 หลังจากตรวจสอบปัญหาข้างต้นแล้ว ให้ลองทำดังต่อไปนี้:
  - ตรวจสอบ Event Viewer สำหรับเหตุการณ์ที่เกี่ยวข้องกับการรับรองความถูกต้อง
  - เปลี่ยนวิธีการรับรองความถูกต้อง เพิ่มคอมพิวเตอร์ปลายทางไปยังการตั้งค่าการกำหนดค่า WinRM TrustedHosts หรือใช้การขนส่ง HTTPS
 โปรดทราบว่าคอมพิวเตอร์ในรายการ TrustedHosts อาจไม่ได้รับการรับรองความถูกต้อง
   - สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า WinRM ให้รันคำสั่งต่อไปนี้: winrm help config สำหรับข้อมูลเพิ่มเติม โปรดดูที่
หัวข้อความช่วยเหลือ about_Remote_Troubleshooting
ที่บรรทัด:1 ตัวอักษร:1
+ Enter-PSSession -ComputerName Server1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (Server1:String) [Enter-PSSession], PSRemotingTransportException
    + FullyQualifiedErrorId: CreateRemoteRunspace ล้มเหลว

ถ้าฉันเรียกใช้คำสั่งบนเซิร์ฟเวอร์อื่น ๆ ของเรา การเชื่อมต่อสำเร็จ นี่เป็นสิ่งเดียวที่ทำให้ฉันมีปัญหา

ถ้าฉันรันคำสั่ง เข้าสู่ PSSession กับ - หนังสือรับรอง สลับกับบัญชีผู้ใช้ของฉัน ฉันได้รับข้อผิดพลาดเดียวกัน แต่ถ้าฉันรันคำสั่งและระบุบัญชีผู้ดูแลระบบภายในของเซิร์ฟเวอร์ มันจะเชื่อมต่อ เซิร์ฟเวอร์อื่นทำงานได้ดี

PS C:\WINDOWS\system32> Enter-PSSession -ComputerName Server1 -Credential Server1\administrator
[เซิร์ฟเวอร์ 1]: PS C:\Users\Administrator\Documents> ออก

PS C:\WINDOWS\system32> Enter-PSSession -ComputerName Server1 -credential domain\myuser
Enter-PSSession: การเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล Server1 ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดต่อไปนี้: WinRM ไม่สามารถดำเนินการตามคำขอได้ เดอะ
ข้อผิดพลาดต่อไปนี้พร้อมรหัสข้อผิดพลาด 0x80090322 เกิดขึ้นขณะใช้การรับรองความถูกต้องของ Negotiate: เกิดข้อผิดพลาดด้านความปลอดภัยที่ไม่รู้จัก
 สาเหตุที่เป็นไปได้คือ:
  - ชื่อผู้ใช้หรือรหัสผ่านที่ระบุไม่ถูกต้อง
  -Kerberos จะใช้เมื่อไม่มีวิธีการตรวจสอบสิทธิ์และไม่มีการระบุชื่อผู้ใช้
  -Kerberos ยอมรับชื่อผู้ใช้โดเมน แต่ไม่ยอมรับชื่อผู้ใช้ภายในเครื่อง
  - ไม่มีชื่อบริการหลัก (SPN) สำหรับชื่อคอมพิวเตอร์ระยะไกลและพอร์ต
  -ไคลเอนต์และคอมพิวเตอร์ระยะไกลอยู่ในโดเมนที่แตกต่างกัน และไม่มีความเชื่อถือระหว่างสองโดเมน
 หลังจากตรวจสอบปัญหาข้างต้นแล้ว ให้ลองทำดังต่อไปนี้:
  - ตรวจสอบ Event Viewer สำหรับเหตุการณ์ที่เกี่ยวข้องกับการรับรองความถูกต้อง
  - เปลี่ยนวิธีการรับรองความถูกต้อง เพิ่มคอมพิวเตอร์ปลายทางไปยังการตั้งค่าการกำหนดค่า WinRM TrustedHosts หรือใช้การขนส่ง HTTPS
 โปรดทราบว่าคอมพิวเตอร์ในรายการ TrustedHosts อาจไม่ได้รับการรับรองความถูกต้อง
   - สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า WinRM ให้รันคำสั่งต่อไปนี้: winrm help config สำหรับข้อมูลเพิ่มเติม โปรดดูที่
หัวข้อความช่วยเหลือ about_Remote_Troubleshooting
ที่บรรทัด:1 ตัวอักษร:1
+ Enter-PSSession -ComputerName Server1 -credential alpenaw2k.local\kemp ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidArgument: (Server1:String) [Enter-PSSession], PSRemotingTransportException
    + FullyQualifiedErrorId: CreateRemoteRunspace ล้มเหลว

PS C:\WINDOWS\system32> เข้าสู่ PSSession -ComputerName Server2
[เซิร์ฟเวอร์ 2]: PS C:\Users\user\Documents> ออก
PS C:\WINDOWS\system32>

ถ้าฉันวิ่ง ใหม่ PSSession จากเซิร์ฟเวอร์ภายใน ฉันจะได้รับข้อผิดพลาดเดียวกัน เว้นแต่ว่าฉันจะระบุ - เปิดใช้งานการเข้าถึงเครือข่าย สลับแล้วจะเชื่อมต่อ สิ่งนี้ทำให้ฉันสับสนตัวแสดงเหตุการณ์ให้รหัสเหตุการณ์ 161 ที่เกี่ยวข้องกับการตรวจสอบสิทธิ์ผู้ใช้และข้อผิดพลาด 142 สำหรับเซสชันที่สร้างไม่สำเร็จ

ถ้าฉันวิ่ง ทดสอบ-WSMan จากเซิร์ฟเวอร์ภายในและโฮสต์ระยะไกลแสดงว่ากำลังทำงานอยู่

นี่คือการกำหนดค่า WinRM และการกำหนดค่าผู้ฟัง:

PS C:\Windows\system32> winrm รับ winrm/config
กำหนดค่า
    MaxEnvelopeSizekb = 500
    MaxTimeoutms = 60,000
    MaxBatchItems = 32,000
    MaxProviderRequests = 4294967295
    ลูกค้า
        ความล่าช้าของเครือข่าย = 5,000
        URLPrefix = wsman
        AllowUnencrypted = เท็จ
        รับรองความถูกต้อง
            พื้นฐาน = จริง
            สรุป = จริง
            Kerberos = จริง
            เจรจา = จริง
            ใบรับรอง = จริง
            CredSSP = เท็จ
        พอร์ตเริ่มต้น
            HTTP = 5985
            HTTPS = 5986
        TrustedHosts = 10.10.10.142
    บริการ
        RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW; ;;WD)
        MaxConcurrentOperations = 4294967295
        MaxConcurrentOperationsPerUser = 1500
        EnumerationTimeoutms = 240000
        การเชื่อมต่อสูงสุด = 300
        MaxPacketRetrievalTimeSeconds = 120
        AllowUnencrypted = เท็จ
        รับรองความถูกต้อง
            พื้นฐาน = เท็จ
            Kerberos = จริง
            เจรจา = จริง
            ใบรับรอง = เท็จ
            CredSSP = เท็จ
            CbtHardeningLevel = ผ่อนคลาย
        พอร์ตเริ่มต้น
            HTTP = 5985
            HTTPS = 5986
        ตัวกรอง IPv4 = *
        ตัวกรอง IPv6 = *
        EnableCompatibilityHttpListener = เท็จ
        EnableCompatibilityHttpsListener = เท็จ
        ใบรับรองนิ้วหัวแม่มือ
        AllowRemoteAccess = จริง
    ผู้ชนะ
        AllowRemoteShellAccess = จริง
        IdleTimeout = 7200000
        MaxConcurrentUsers = 2147483647
        MaxShellRunTime = 2147483647
        MaxProcessesPerShell = 2147483647
        MaxMemoryPerShellMB = 2147483647
        MaxShellsPerUser = 2147483647

PS C:\Windows\system32> winrm ระบุ winrm/config/listener
ผู้ฟัง
    ที่อยู่ = *
    การขนส่ง = HTTP
    พอร์ท = 5985
    ชื่อโฮสต์
    เปิดใช้งาน = จริง
    URLPrefix = wsman
    ใบรับรองนิ้วหัวแม่มือ
    ListeningOn = 10.10.10.87, 127.0.0.1, ::1, fe80::4579:db85:c9cb:ead0%6

สิ่งอื่น ๆ ที่ฉันได้ลอง:

  • ฉันไม่มีการตั้งค่า GPO สำหรับ WinRM
  • ฉันได้ลบและสร้างผู้ฟังใหม่แล้ว
  • ฉันได้รีเซ็ตการกำหนดค่าของ WinRM หลายครั้ง
  • ไฟร์วอลล์ขั้นสูงของ Windows ถูกปิดใช้งานสำหรับสาธารณะ ส่วนตัว และโดเมน เครือข่าย
  • ฉันได้ตรวจสอบ ตั้งค่า PSSessionConfiguration - ชื่อ Microsoft.PowerShell - ShowSecurityDescriptorUI สิทธิ์และ สิทธิ์ดูเหมือนโอเค
  • ฉันใช้ที่อยู่ IP แทนชื่อโฮสต์เหมือนกัน ผล.
  • ฉันได้เพิ่มคอมพิวเตอร์ของฉันลงในรายการโฮสต์ที่เชื่อถือได้แล้ว แต่ไม่ได้เพิ่ม งาน. สิ่งนี้ไม่จำเป็นแม้ว่าจะเป็นทั้งคอมพิวเตอร์ อยู่ในโดเมนเดียวกัน
  • วิ่ง เปิดใช้งาน PSRemoting -Force (แม้ว่าจะไม่จำเป็นก็ตาม เนื่องจาก WinRM เปิดใช้งานตามค่าเริ่มต้นสำหรับ Server 2012 และรุ่นต่อไป)
  • ฉันได้เพิ่มผู้ใช้ของฉันใน Local Administrators และ Remote การจัดการผู้ใช้บนเซิร์ฟเวอร์ที่ไม่มีโชค
  • ฉันได้ปรับรีจิสทรีของ REG เพิ่ม HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 และสิ่งนี้ไม่ได้ ทำงานโดยไม่คำนึงถึงมูลค่าของมัน
  • ฉันรีบูตและเรียกใช้ sfc /scannow เป็นความพยายามครั้งสุดท้าย

ข้อมูลจำเพาะของเซิร์ฟเวอร์ เวิร์กสเตชัน และผู้ใช้ของฉัน:

  • บัญชีโดเมนของฉันคือผู้ดูแลโดเมน
  • เซิร์ฟเวอร์เป็นมาตรฐาน Windows Server 2019
  • เวิร์กสเตชันคือ Windows 10 Pro
  • PowerShell เวอร์ชัน 5 สำหรับทั้งคู่
  • คอมพิวเตอร์ทั้งสองเครื่องอยู่ในโดเมนเดียวกัน
  • คอมพิวเตอร์ทั้งสองเครื่องเป็นรุ่นล่าสุด

ฉันสามารถใช้บัญชีผู้ดูแลระบบท้องถิ่นเพื่อสำรวจข้อมูลนี้และแก้ไขปัญหาการคุกคามของฉัน แต่นั่นไม่ได้แก้ไขปัญหาพื้นฐาน

จากเซิร์ฟเวอร์ระยะไกล ไม่มีรายการข้อผิดพลาดในบันทึกการจัดการระยะไกลของ Windows แต่บนคอมพิวเตอร์ของฉัน ฉันมีสิ่งเหล่านี้:

รหัสเหตุการณ์ข้อผิดพลาด - 142

การแจงนับการดำเนินการ WSMan ล้มเหลว รหัสข้อผิดพลาด 2150858909

รหัสเหตุการณ์ข้อผิดพลาด - 49

การดำเนินการโปรโตคอล WinRM ล้มเหลวเนื่องจากข้อผิดพลาดต่อไปนี้: WinRM ไม่สามารถประมวลผลคำขอได้ เกิดข้อผิดพลาดต่อไปนี้พร้อมรหัสข้อผิดพลาด 0x80090322 ขณะใช้การตรวจสอบสิทธิ์ Kerberos: เกิดข้อผิดพลาดด้านความปลอดภัยที่ไม่รู้จัก  
 สาเหตุที่เป็นไปได้คือ:
  - ชื่อผู้ใช้หรือรหัสผ่านที่ระบุไม่ถูกต้อง
  -Kerberos จะใช้เมื่อไม่มีวิธีการตรวจสอบสิทธิ์และไม่มีการระบุชื่อผู้ใช้
  -Kerberos ยอมรับชื่อผู้ใช้โดเมน แต่ไม่ยอมรับชื่อผู้ใช้ภายในเครื่อง
  - ไม่มีชื่อบริการหลัก (SPN) สำหรับชื่อคอมพิวเตอร์ระยะไกลและพอร์ต
  -ไคลเอนต์และคอมพิวเตอร์ระยะไกลอยู่ในโดเมนที่แตกต่างกัน และไม่มีความเชื่อถือระหว่างสองโดเมน
 หลังจากตรวจสอบปัญหาข้างต้นแล้ว ให้ลองทำดังต่อไปนี้:
  - ตรวจสอบ Event Viewer สำหรับเหตุการณ์ที่เกี่ยวข้องกับการรับรองความถูกต้อง
  - เปลี่ยนวิธีการรับรองความถูกต้อง เพิ่มคอมพิวเตอร์ปลายทางไปยังการตั้งค่าการกำหนดค่า WinRM TrustedHosts หรือใช้การขนส่ง HTTPS
 โปรดทราบว่าคอมพิวเตอร์ในรายการ TrustedHosts อาจไม่ได้รับการรับรองความถูกต้อง
   - สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า WinRM ให้รันคำสั่งต่อไปนี้: winrm help config..

รหัสเหตุการณ์ข้อผิดพลาด - 161

WinRM ไม่สามารถดำเนินการตามคำขอได้ เกิดข้อผิดพลาดต่อไปนี้พร้อมรหัสข้อผิดพลาด 0x80090322 ขณะใช้การตรวจสอบสิทธิ์ Kerberos: เกิดข้อผิดพลาดด้านความปลอดภัยที่ไม่รู้จัก  
 สาเหตุที่เป็นไปได้คือ:
  - ชื่อผู้ใช้หรือรหัสผ่านที่ระบุไม่ถูกต้อง
  -Kerberos จะใช้เมื่อไม่มีวิธีการตรวจสอบสิทธิ์และไม่มีการระบุชื่อผู้ใช้
  -Kerberos ยอมรับชื่อผู้ใช้โดเมน แต่ไม่ยอมรับชื่อผู้ใช้ภายในเครื่อง
  - ไม่มีชื่อบริการหลัก (SPN) สำหรับชื่อคอมพิวเตอร์ระยะไกลและพอร์ต
  -ไคลเอนต์และคอมพิวเตอร์ระยะไกลอยู่ในโดเมนที่แตกต่างกัน และไม่มีความเชื่อถือระหว่างสองโดเมน
 หลังจากตรวจสอบปัญหาข้างต้นแล้ว ให้ลองทำดังต่อไปนี้:
  - ตรวจสอบ Event Viewer สำหรับเหตุการณ์ที่เกี่ยวข้องกับการรับรองความถูกต้อง
  - เปลี่ยนวิธีการรับรองความถูกต้อง เพิ่มคอมพิวเตอร์ปลายทางไปยังการตั้งค่าการกำหนดค่า WinRM TrustedHosts หรือใช้การขนส่ง HTTPS
 โปรดทราบว่าคอมพิวเตอร์ในรายการ TrustedHosts อาจไม่ได้รับการรับรองความถูกต้อง
   - สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า WinRM ให้รันคำสั่งต่อไปนี้: winrm help config

ฉันสามารถ RDP เข้าสู่เซิร์ฟเวอร์ได้ดี นั่นคือวิธีที่ฉันทำการทดสอบในเครื่อง

ฉันทดสอบสองคำสั่งนี้:

gwmi win32_operatingsystem -ComputerName Server1 ดำเนินการตามปกติโดยไม่มีปัญหา นั่นคือการระบุเซิร์ฟเวอร์ระยะไกลและ RDPing ให้ทำงานในเครื่อง

Get-CimInstance win32_operatingsystem -ComputerName Server1 ฉันไม่สามารถเรียกใช้จากเวิร์กสเตชันของฉันได้ แต่ถ้าฉัน RDP เข้าสู่เซิร์ฟเวอร์และเรียกใช้ มันจะทำงานตามปกติ

ผลลัพธ์ของ ตั้งค่า SPN -X ส่งคืนไม่มี SPN ที่ทับซ้อนกัน

ผลลัพธ์ของ SetSPN -L ผลตอบแทน:

ServicePrincipalName ที่ลงทะเบียนสำหรับ CN=Server1,OU=เซิร์ฟเวอร์,OU=องค์กร,DC=องค์กร,DC=LOCAL:
        TERMSRV/เซิร์ฟเวอร์1.DOMAIN.LOCAL
        WSMAN/เซิร์ฟเวอร์1.DOMAIN.LOCAL
        KrbHost/Server1.DOMAIN.LOCAL ที่จำกัด
        โฮสต์/เซิร์ฟเวอร์1.DOMAIN.LOCAL
        TERMSRV/เซิร์ฟเวอร์1
        WSMAN/เซิร์ฟเวอร์1
        KrbHost/เซิร์ฟเวอร์ที่ถูกจำกัด1
        โฮสต์/เซิร์ฟเวอร์1

ข้อเสนอแนะใด ๆ และทั้งหมดจะได้รับการชื่นชมอย่างมาก

Score:0
ธง br

ฉันได้รับการแก้ไขแล้ว

มันเป็นปัญหา SPN HTTP/Server1 และ HTTP/Server1.domain ถูกใช้โดยบัญชีผู้ใช้แบบสุ่มที่ตั้งชื่อตามเซิร์ฟเวอร์

หลังจากปิดใช้งานบัญชีและย้าย SPN ไปยังวัตถุคอมพิวเตอร์แล้ว WinRM ก็ทำงานอย่างที่ควรจะเป็น

นี้ พาฉันไปในทิศทางที่ถูกต้อง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา