كيفية إصلاح "عملية تحديد WS-Management متاحة فقط في الجلسات البعيدة".
وصف الخطأ
الخطأ "The WS-Management identification operation is only available on remote sessions" يحدث في ويندوز (عادة عند استخدام PowerShell أو WinRM أوامر مثل Test-WSMan أو Connect-WSMan ) عندما تحاول تشغيل عملية إدارة WS تستهدف الآلة المحلية ( localhost أو 127.0.0.1 يمنع WinRM بنشاط بعض حلقات التحقق من الهوية على المضيف المحلي للحفاظ على حدود الأمان ومنع مشكلات مصادقة الحلقة.
إصلاحات خطوة بخطوة
الطريقة 1: إزالة المعلم المستهدف للاختبار المحلي
If you are troubleshooting WinRM on your current machine, running the command with explicit local loopback addresses triggers this error.
- افتح PowerShell كمدير
- بدلاً من الهرب:
Test-WSMan -ComputerName localhost - قم بتشغيل الأمر دون معيار اسم الكمبيوتر لاختبار خدمة WinRM المحلية:
Test-WSMan
الطريقة 2: تمكين إدارة الحلقة المحلية عن بعد (إلغاء تشخيص الحلقة)
إذا كان التطبيق أو النص الخاص بك يتطلب ارتباطا صارما localhost من خلال دعوة جلسة واضحة على الطراز البعيد، يجب عليك تعديل سجل ويندوز للسماح بتمييز الحلقة المحلية.
- اضغط على Windows Key + R ، نوع
regeditو اضغط Enter لفتح محرر السجل - انتقل إلى المسار التالي:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa - انقر بزر الماوس الأيمن على Lsa المجلد، حدد New ثم انقر DWORD (32-bit) Value.
- أسمي القيمة الجديدة
DisableLoopbackCheck. - انقر مرتين
DisableLoopbackCheck، تغييرها Value data إلى1وأبقي القاعدة كما هي Hexadecimal. - انقر OK وإعادة تشغيل جهاز الكمبيوتر الخاص بك للتغييرات لتصبح فعالة.
طريقة 3: تكوين WinRM المضيفات الموثوقة
في بعض الأحيان تقيد سياسة الأمان حركة مرور WS-Management حتى داخلياً. إجبار WinRM على الثقة بجميع المضيفات (أو تكوينك المحلي المحدد) يتجاوز كتل التعرف الصارمة.
- انقر بزر الماوس الأيمن على قائمة البدء واختر Terminal (Admin) أو PowerShell (Admin).
- قم بتشغيل الأمر التالي للسماح بتوجيه الحلقة وإصدار المصادقة عن بعد:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "*" -Force - إعادة تشغيل خدمة WinRM لتطبيق التكوين:
Restart-Service WinRM
الطريقة 4: استخدام New-PSSession للسيناريوهات المحلية
إذا كنت بحاجة إلى محاكاة سياق جلسة بعيدة محلياً لنص، قم بإنشاء جلسة PowerShell رسمية بدلاً من استدعاء اتصال مباشر.
- افتح النص الخاص بك أو وحدة التحكم PowerShell.
- بدء الاتصال ككتلة جلسة كهذه:
$session = New-PSSession -ComputerName "localhost" Invoke-Command -Session $session -ScriptBlock { Get-Process } Remove-PSSession $session
قد يكون هناك بعض الأخطاء. Learn Microsoft