هل جربت يومًا الوصول إلى مورد بعيد داخل جلسة PowerShell Remoting فقط لتواجه عقبة الوصول الممنوع المزعجة؟ تُعرف هذه المشكلة الشائعة، المعروفة بمشكلة “القفز المزدوج”، بأنها تمنعك من الوصول إلى جهاز بعيد ثانٍ من جلستك الحالية.
الخبر الجيد؟ هناك طرق لحل مشكلة القفز المزدوج دون تعقيدات زائدة في التكوين. في هذا الدليل، ستقوم بإنشاء جلسة مخصصة تتعامل بسلاسة مع المصادقة، مما يوفر لك الوقت والجهد مع الحفاظ على الأمان.
تغلب على القفزات المزدوجة مع تكوينات الجلسة وسهّل سير عملك!
تشغيل PowerShell كمستخدم مختلف
إذا كنت تعمل مع سكربتات تتصل بالموارد البعيدة، قد تواجه مشكلة القفز المزدوج. تحدث هذه المشكلة عندما تفشل بيانات اعتمادك في المصادقة بعد القفزة الأولى في الاتصال عن بُعد.
على سبيل المثال، اعتبر سكربتًا يعد المجلدات الفرعية على جهاز كمبيوتر بعيد باستخدام مسار UNC:
(Get-ChildItem -Path \\SRV2\c$ -Directory).Count
إذا كنت مسجلاً الدخول كمستخدم يفتقر إلى إذن الوصول إلى مورد، يمكنك تشغيل PowerShell تحت حساب مستخدم مختلف:
- ابحث عن PowerShell في قائمة البداية.
- انقر بزر الماوس الأيمن على اختصار PowerShell واختر فتح موقع الملف.
- في مستعرض الملفات، اضغط مع الاستمرار على Shift، وانقر بزر الماوس الأيمن على الاختصار، واختر تشغيل كمستخدم مختلف.
- أدخل بيانات اعتماد مستخدم يتمتع بالأذونات اللازمة.
بعد بدء PowerShell كمستخدم مختلف، يجب أن تنجح الأوامر الآن:
(Get-ChildItem -Path \\SRV2\c$ -Directory).Count
نصيحة: إذا كنت تقوم بتشغيل الأوامر بانتظام باستخدام امتيازات مختلفة، فكر في استخدام الأمر Start-Process
مع المعلمة -Credential
. يسمح هذا النهج لك بفتح جلسات PowerShell جديدة مباشرة من وحدة التحكم بامتيازات بديلة.
اختبار الاتصالات عن بُعد
قد تتمكن من الوصول بنجاح إلى مورد عن بُعد محليًا، مثل مجلد مشترك، عند العمل مع أنظمة عديدة عن بُعد. ولكن تجد بعد ذلك أن نفس الأمر يؤدي إلى خطأ “تم رفض الوصول” عند تنفيذه (من جهاز كمبيوتر عن بُعد ثانٍ).
قد يكون هذا التناقض مربكًا، خاصةً عندما تكون واثقًا من أن امتيازاتك تحتوي على الصلاحيات الكافية.
للاختبار اتصالاتك عن بُعد، قم بإنشاء جلسة مع جهاز كمبيوتر آخر:
Enter-PSSession -ComputerName SRV3
بمجرد الاتصال، جرب تشغيل نفس الأمر على الجهاز الثاني:
(Get-ChildItem -Path \\SRV2\c$ -Directory).Count
غالبًا ما يؤدي هذا الاختبار إلى خطأ “تم رفض الوصول”، حتى إذا استخدمت حسابًا يحتوي على الصلاحيات.
قم بتأكيد مستخدمك الحالي باستخدام الأمر التالي:
whoami
هذا السلوك (الانتقال المزدوج) يحدث لأن PowerShell لا يمرر امتيازاتك إلى القفزة التالية. هذه الآلية هي ميزة أمان مدمجة في مصادقة كيربروس، لكن يمكن أن تكون مصدر إزعاج كبير عند إدارة أنظمة متعددة.
حل مشكلة الانتقال المزدوج باستخدام تكوينات الجلسة
إحدى الحلول لمشكلة الانتقال المزدوج هي إنشاء تكوين جلسة على الجهاز الوسيط.
ابدأ بتسجيل تكوين جلسة على الكمبيوتر الذي تقوم بالاتصال به، في هذه الحالة، SRV3.
الأمر التالي:
- يعين
اسم
لتكوين الجلسة (على سبيل المثال،المسؤول
). - يحدد الحساب (
RunAsCredential
) الذي ستعمل تحته الجلسات. - يضمن (
القوة
) تطبيق التكوين وإعادة تشغيل خدمة WinRM.
Invoke-Command -ComputerName SRV3 -ScriptBlock { Register-PSSessionConfiguration -Name Admin -RunAsCredential 'psforsysadmins.local\adam' -Force }
PowerShell يطلب منك كلمة مرور لحساب RunAsCredential
، الذي يتم تخزينه بشكل آمن على الجهاز عن بعد. بمجرد تسجيل التكوين، يتم إعادة تشغيل خدمة WinRM ويتم إغلاق الجلسة.
بعد تكوين الجلسة، يمكنك الآن الاتصال باستخدام معلمة ConfigurationName
:
Invoke-Command -ComputerName SRV3 -ScriptBlock { (Get-ChildItem -Path \\SRV2\c$ -Directory).Count } -ConfigurationName Admin
ينفذ هذا الأمر نفس العملية كما في السابق. ومع ذلك، يحدد تكوين الجلسة المسؤول
، الذي يعمل تحت الحساب الإداري المحدد.
نصيحة: قم بتقييد الوصول إلى تكوين الجلسة عن طريق تعريف أذونات الوصول للمستخدم أو المجموعة باستخدام أمر Set-PSSessionConfiguration
. بذلك، تضمن أن يمكن للمستخدمين المعتمدين فقط الاستفادة من التكوين.
الاستنتاج
في هذا الدليل، رأيت وحللت مشكلة الانتقال المزدوج في الإعادة عن بعد في PowerShell. يمكن لتهيئة تكوين الجلسة حل مشكلة الانتقال المزدوج وضمان مرور أوراق الاعتماد بشكل آمن.
هذا الحل ثابت، لذلك يمكنك إعادة استخدام التكوين حتى بعد إعادة التشغيل، مما يجعله نهجًا قويًا لإدارة جلسات PowerShell عن بعد. الآن، يمكنك إدارة العمليات عن بُعد متعددة الانتقال بثقة وتبسيط سير العمل دون المساس بالأمان.
من هنا، يُرجى النظر في استكشاف خيارات الأمان المتقدمة، مثل تقييد الوصول إلى الجلسة أو تنفيذ المصادقة بناءً على الشهادة. يمكن أن تعزز هذه التحسينات إعداد الاتصال عن بُعد لديك بشكل أكبر بينما تدير بيئات معقدة بمرونة.
Source:
https://adamtheautomator.com/powershell-double-hop-fix/