كيفية إصلاح "لا يمكن لعميل WinRM معالجة الطلب. لا يمكن استخدام مصادقة Kerberos مع بيانات اعتماد ضمنية إذا لم يتم إضافة جهاز الكمبيوتر العميل إلى نطاق".
وصف الخطأ
يحدث هذا الخطأ عندما تحاول استخدام إدارة Windows عن بعد (WinRM) للاتصال بجهاز كمبيوتر بعيد باستخدام مصادقة Kerberos ، ولكن جهاز الكمبيوتر المحلي الخاص بك يعمل في مجموعة عمل بدلاً من الانضمام إلى نطاق Active Directory. يتطلب Kerberos بشكل صارم بنية تحتية نطاق مركزية للتحقق من صحة بيانات الاعتماد. عندما لا تقدم بيانات الاعتماد للمستخدم بشكل صريح (مصادر الاعتماد الضمنية) ، فإن WinRM تفترض على Kerberos وتتوقع أن تكون هوية جهازك المحلي جزءًا من هذا النطاق ، والتي تفشل في بيئة مجموعة العمل.
إصلاحات خطوة بخطوة
لحل هذه المشكلة، يجب عليك إما تكوين WinRM للاعتماد على المضيف البعيد باستخدام مصادقة NTLM أو توفير بيانات اعتماد صريحة أثناء الاتصال.
الطريقة 1: إضافة المضيف البعيد إلى قائمة المضيفات الموثوق بها
Since Kerberos cannot be used, you must tell your local computer to trust the remote machine using NTLM authentication.
- على... local computer ، انقر على قائمة البدء، اكتب PowerShell ، انقر بزر الماوس الأيمن عليه، واختيار Run as administrator.
- قم بتشغيل الأمر التالي للتحقق من تكوين TrustedHosts الحالي:
Get-Item WSMan:\localhost\Client\TrustedHosts - Run the following command to allow your computer to connect to the specific remote IP address or hostname (replace
REMOTE_COMPUTER_IP_OR_NAMEمع تفاصيل جهاز الكمبيوتر عن بعد الفعلي الخاص بك):Set-Item WSMan:\localhost\Client\TrustedHosts -Value "REMOTE_COMPUTER_IP_OR_NAME" -Forceملاحظة: إذا كنت ترغب في الاتصال بأي جهاز كمبيوتر (أقل أمانًا ، يوصى به فقط للشبكات الخاصة) ، فيمكنك استخدام رمز البطاقة المجانية `" بدلاً من ذلك
- إعادة تشغيل خدمة WinRM لتطبيق التغييرات عن طريق تشغيل:
Restart-Service WinRM
الطريقة 2: تمرير بيانات اعتماد صريحة وتحديد نوع المصادقة
عند تنفيذ أوامر WinRM أو PowerShell Remoting الخاصة بك، يجب عليك توفير اسم مستخدم وكلمة مرور بشكل صريح بدلاً من الاعتماد على بيانات اعتماد ضمنية، وتحديد آلية المصادقة.
If you are using PowerShell Remoting (Enter-PSSession or Invoke-Command):
- افتح PowerShell
- استخدم
-Credentialالمعيار بجانب-Authenticationتم تعيين المعيار علىNegotiateأوBasic. - قم بتشغيل أمر الارتباط على هذا النحو:
Enter-PSSession -ComputerName REMOTE_COMPUTER_IP_OR_NAME -Credential (Get-Credential) -Authentication Negotiate - A pop-up window will appear. Enter the username and password of an administrator account that exists on the remote كمبيوتر.
طريقة 3: التحقق من إعدادات WinRM للتحقق من المصداقية على كلا الكمبيوترين
تأكد من تكوين عميل WinRM والخادم للسماح بتصديق NTLM (التفاوض).
- افتح PowerShell as an administrator على كل من الحواسيب المحلية والبعيدة.
- قم بتشغيل الأمر التالي لعرض أنواع المصادقة المفعول:
Get-ChildItem WSMan:\localhost\Service\Auth Get-ChildItem WSMan:\localhost\Client\Auth - تأكد من ذلك
Negotiateو..Basic(إذا لزم الأمر) يتم تعيينها علىTrueإذاNegotiateتم تعيينها علىFalse، تمكينها عن طريق تشغيل:Set-Item WSMan:\localhost\Client\Auth\Negotiate -Value $true Set-Item WSMan:\localhost\Service\Auth\Negotiate -Value $true
قد يكون هناك بعض الأخطاء. Learn Microsoft