وصف الخطأ
يحدث هذا الخطأ عندما تحاول الاتصال بالجهاز المحلي باستخدام Windows Remote Management (WinRM) من خلال عنوان الحلقة ( localhost, 127.0.0.1 ، أو [::1] ) دون تحديد آلية مصادقة صريحة تسمح بتدفق الحلقة ، أو عند استخدام مصادقة Kerberos القياسية.
By default, the WinRM architecture and Kerberos security protocols prevent loopback authentication to protect against credential reflection attacks. Kerberos relies on Service Principal Names (SPNs) linked to active computer accounts; because localhost إذا لم يتم حل الحالة إلى حساب آلة Active Directory فريد ، فإن مصادقة Kerberos تفشل. لتنفيذ الأوامر محلياً عبر WinRM ، يجب عليك تكوين عميل WinRM للسماح بالاتصال المحلي أو استخدام طريقة مصادقة بديلة مثل Basic أو Negotiate.
إصلاحات خطوة بخطوة
طريقة 1: استخدم اسم الكمبيوتر بدلاً من Localhost
أسهل وأأمن حل هو تجنب عناوين الحلقة بالكامل من خلال استهداف اسم جهازك الفعلي.
- افتح Command Prompt أو PowerShell.
- ابحث عن اسم جهاز الكمبيوتر الخاص بك من خلال تشغيل:
hostname - استخدم اسم المضيف المرجع بدلاً من
localhostأو127.0.0.1في أوامر WinRM أو PowerShell Remoting الخاصة بك. على سبيل المثال:Enter-PSSession -ComputerName YOUR_COMPUTER_NAME
طريقة 2: تكوين WinRM المضيفات الموثوقة
إذا كان عليك أن تستخدم localhost ، تحتاج إلى إخبار WinRM تكوين العميل للثقة صراحة الاتصالات إليها.
- انقر بزر الماوس الأيمن على قائمة بدء نظام التشغيل و حدد Windows PowerShell (Admin) أو Terminal (Admin).
- قم بتشغيل الأمر التالي لإضافة
localhostإلى قائمة المضيفين الموثوق بهم:Set-Item WSMan:\localhost\Client\TrustedHosts -Value "localhost" -Force(ملاحظة: إذا كنت بحاجة إلى السماح بتعديلات IP أيضا، استخدم
-Value "localhost,127.0.0.1,::1") - إعادة تشغيل خدمة WinRM لتطبيق التغييرات:
Restart-Service WinRM
الطريقة الثالثة: تغيير آلية المصادقة
إذا كانت أوامرك تسمح بعلامات المعايير، قم بالتبديل صراحة من Kerberos إلى التفاوض أو المصادقة الأساسية، والتي تتعامل مع حركة المرور بشكل صحيح.
- For PowerShell sessions: إضافة
-Authenticationالمعيار إلى أمر الاتصال الخاص بك:Enter-PSSession -ComputerName "localhost" -Authentication Negotiate - For general WinRM utility commands: حدد نوع المصادقة باستخدام
-aالتبديل:winrm get winrm/config/client -a:Negotiate
طريقة 4: تمكين سياسة فلتر رمز الحساب المحلي
إذا كنت تقوم بتشغيل الأمر كحساب مسؤول محلي ولا تزال تواجه حواجز الوصول بعد تطبيق الخطوات المذكورة أعلاه ، فقد يكون Windows User Account Control (UAC) يزيل امتيازاتك الإدارية على اتصال الحلقة.
- اضغط
Windows Key + R، نوعregeditو اضغط Enter لفتح محرر السجل - انتقل إلى المسار التالي:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - انقر بزر الماوس الأيمن على مساحة فارغة في النافذة اليمنى، حدد New -> DWORD (32-bit) Value.
- اسم القيمة الجديدة:
LocalAccountTokenFilterPolicy - انقر مرتين
LocalAccountTokenFilterPolicyو تغييرها Value data إلى1. - انقر OK وإعادة تشغيل الكمبيوتر لتطبيق تغييرات السجل.
قد يكون هناك بعض الأخطاء. Learn Microsoft