خطأ في ويندوز: WinRM آلية مصادقة العميل
الوصف
يحدث هذا الخطأ عند محاولة إنشاء اتصال عن بعد باستخدام Windows Remote Management (WinRM) أو PowerShell Remoting عبر اتصال HTTP غير مشفر. بشكل افتراضي ، تحظر سياسات أمان Windows إرسال بيانات اعتماد المصادقة دون آلية مصادقة صريحة (مثل Kerberos أو Negotiate أو Basic) ما لم يتم استخدام تشفير البيانات (HTTPS) أو يسمح بها بشكل صريح من خلال تكوينك. إذا لم تحدد كيفية المصادقة ، فإن WinRM يفترض أنك تستخدم بيانات اعتماد المستخدم المحلي ، والتي يتم حظرها عبر HTTP الخام من أجل السلامة.
حلول سهلة خطوة بخطوة
إصلاح 1: إضافة الخادم البعيد إلى TrustedHosts
أسهل طريقة لحل هذا بالنسبة للشبكات المحلية أو المختبرات هي إضافة جهاز الكمبيوتر المستهدف إلى قائمة المضيفين الموثوق بهم في جهاز العميل. هذا يخبر جهاز الكمبيوتر الخاص بك أن الوجهة آمنة للاتصال بها دون وجود مصادقة متقدمة.
- انقر بزر الماوس الأيمن Start Menu زر على جهاز الكمبيوتر العميل الخاص بك.
- اختر Terminal (Admin), PowerShell (Admin) ، أو Command Prompt (Admin).
- قم بتشغيل الأمر التالي للسماح بالاتصال بجميع أجهزة الكمبيوتر البعيدة:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force(ملاحظة: يمكنك استبدال
with a specific IP address or computer name for better security, for example:مجموعة المادة WSMan:\localhost\Client\TrustedHosts - القيمة "192.168.1.50" - القوة `) * - إعادة تشغيل خدمة WinRM بتنفيذ:
Restart-Service WinRM
إصلاح 2: تحديد آلية المصادقة بشكل واضح
إذا كنت تقوم بتشغيل نص أو أمر في PowerShell، فيمكنك تجاوز هذا الخطأ عن طريق تحديد طريقة المصادقة بشكل صريح وإعطاء بيانات الاعتماد بشكل صحيح.
- افتحي PowerShell تلقيت طلباً سريعاً
- استخدم
-Authenticationالمعيار جنبا إلى جنب مع-Credentialالمعيار تحت قيادتك - مثال لـ Enter-PSSession:
Enter-PSSession -ComputerName "YOUR_REMOTE_COMPUTER" -Credential (Get-Credential) -Authentication Negotiate - مثال على طلب الأوامر:
Invoke-Command -ComputerName "YOUR_REMOTE_COMPUTER" -ScriptBlock { Get-Process } -Credential (Get-Credential) -Authentication CredSSP
إصلاح 3: تمكين المصادقة الأساسية على جانب العميل
إذا كانت سير العمل يتطلب استخدام أسماء المستخدمين والكلمات المرورية المحلية دون إعدادات دليل معقدة، يجب عليك تمكين المصادقة الأساسية بشكل صريح في تكوين عميل WinRM.
- افتح PowerShell (Admin).
- قم بتشغيل هذه الأوامر للتحقق من تكوينك الحالي:
Get-Item WSMan:\localhost\Client\Auth\Basic - إذا تم تعيين القيمة على
False، قم بتشغيل هذه الأوامر لتمكينها:Set-Item WSMan:\localhost\Client\Auth\Basic -Value $true - تأكد من أن حركة المرور غير المشفرة مسموح بها إذا كنت لا تستخدم HTTPS (يتم التوصية بها فقط للشبكات المحلية الآمنة المعزولة):
Set-Item WSMan:\localhost\Client\AllowUnencrypted -Value $true
إصلاح 4: التحقق من تكوين الخادم البعيد
في بعض الأحيان تكون المشكلة في الكمبيوتر المستقبل تأكد من أن الآلة المستهدفة تستمع بالفعل وتسمح بتكوين عن بعد
- قم بتسجيل الدخول Target/Remote computer.
- افتح PowerShell (Admin).
- تمكين وإصلاح تكوين WinRM السريع عن طريق تشغيل:
winrm quickconfig - النوع
yو اضغط Enter لتأكيد أي طلبات لتمكين الخدمة أو فتح استثناءات جدار الحماية.
قد يكون هناك بعض الأخطاء. Learn Microsoft