إتقان جلسات PowerShell عن بُعد: وصول تفاعلي ومستدام

يمكن أن يشعر إدارة الأنظمة البعيدة في كثير من الأحيان وكأنك تتنقل في متاهة. قد تكون الجلسات التفاعلية هي الحل إذا واجهت صعوبة في حل مشكلة خادم. مع النهج الصحيح، يمكنك الاتصال بالآلات البعيدة بسهولة، والتفاعل معها في الوقت الحقيقي، وحتى الحفاظ على الاتصالات للعمل على المدى الطويل.

في هذا الدليل، ستتعلم كيفية فتح الإمكانيات الكاملة لجلسات PowerShell للانتقال من الإحباط إلى الإتقان.

اجعل إدارة الأنظمة البعيدة لديك أكثر سلاسة وحقق تلك المهام المملة بسهولة!

فتح جلسة تفاعلية

في بعض الأحيان، قد تحتاج إلى حل مشكلة أو التفاعل مع جهاز كمبيوتر بعيد في الوقت الحقيقي. على سبيل المثال، لتشخيص مشكلة تكوين أو التحقق من الخدمات. غالبًا ما تسمح أدوات الإدارة عن بُعد بالاتصالات، ولكن التبديل بين الأنظمة يمكن أن يكون غير مريح.

توفر الجلسات التفاعلية في PowerShell حلاً من خلال السماح لك بالاتصال بسلاسة بجهاز بعيد وتشغيل الأوامر كما لو كنت تعمل في وحدة التحكم المحلية.

قبل بدء جلسة تفاعلية، تأكد من أن النظام البعيد لديه إدارة عن بُعد لنظام ويندوز (WinRM) ممكّنة ومهيأة بشكل صحيح. استخدم الأمر التالي لتمكين WinRM على النظام البعيد: Enable-PSRemoting -Force

لبدء جلسة تفاعلية، استخدم الأمر Enter-PSSession:

Enter-PSSession -ComputerName SRV2

لاحظ أن المطالبة الآن تتضمن اسم الكمبيوتر البعيد، مما يدل على وجود اتصال نشط.

تأكد من أن الجلسة تعمل على الجهاز البعيد:

hostname

بعد إكمال مهامك، يمكنك الخروج من الجلسة:

exit

عند استخدام Enter-PSSession، تنتهي الجلسة بمجرد الخروج منها.

تأكد من الجلسة باستخدام الآتي:

Get-PSSession

لا يجب أن تظهر أي جلسات، لأنها لم تعد موجودة.

إنشاء وإدارة الجلسات الثابتة

على الرغم من أن الجلسات التفاعلية مفيدة للمهام في الوقت الحقيقي، إلا أنها تختفي بمجرد إغلاقها، مما يقيد المرونة في العمل المستمر. تخيل الحاجة إلى تأتير بعض الأوامر، فصل مؤقتًا، ثم إعادة الاتصال للمتابعة من حيث توقفت.

لا داعي للقلق. تملأ الجلسات الثابتة هذه الفجوة من خلال الحفاظ على اتصال بين جهازك المحلي والكمبيوتر البعيد، حتى عند الخروج من وحدة التحكم أو إعادة التشغيل.

لدمج حالات الاستخدام غير التفاعلية والتفاعلية، أنشئ جلسة ثابتة:

$session = New-PSSession -ComputerName SRV2

بمجرد الإنشاء، تفاعل مع الجلسة الجديدة باستخدام معلمة Session:

Enter-PSSession -Session $session

اخرج من الجلسة وتحقق مرة أخرى من وجود جلسات مفتوحة:

exit
Get-PSSession

يحافظ أمر New-PSSession على توفر الجلسة التي أنشأها.

يمكنك أيضًا استخدام الجلسة بشكل غير تفاعلي:

Invoke-Command -Session $session -ScriptBlock {'Yay! I am in the remote computer!'}

قطع الاتصال وإعادة الاتصال بالجلسات

يتطلب العمل المستمر قطع الاتصال مؤقتًا عن جلسة دون إنهائها تمامًا في نقطة ما. أحد الأمثلة هو عند الحاجة إلى إعادة تشغيل وحدة التحكم المحلية، حيث يحتفظ الفصل بحالة الجلسة، مما يسمح لك بإعادة الاتصال لاحقًا.

تسمح PowerShell لك بالفصل عن جلسة بعيدة مع الاحتفاظ بنشاطها وإعادة الاتصال لاحقًا.

لفصل عن الجلسة:

Disconnect-PSSession -Session $session

يظهر الآن مفصول.

يمكنك إعادة الاتصال بالجلسة حتى بعد إعادة تشغيل وحدة تحكم PowerShell:

Connect-PSSession -ComputerName SRV2

تسمح هذه العملية باستئناف المهام في نفس الجلسة.

أخيراً، قم بتنظيف وإزالة جميع الجلسات:

Get-PSSession | Remove-PSSession

💡 نصيحة: يمكن أن تكون الجلسات المستمرة قوية، لكن تركها تعمل قد يستهلك موارد النظام على الجهاز المحلي أو البعيد. دائماً قم بتنظيف الجلسات عند عدم الحاجة إليها للحفاظ على أداء مثالي.

الخاتمة

تقدم جلسات PowerShell التفاعلية والمستمرة أدوات قوية لإدارة الأنظمة عن بُعد، مما يوفر المرونة والكفاءة.

سواء كنت تحل مشكلات في الوقت الحقيقي، أو تؤتمت الأوامر، أو تحافظ على العمل عبر عمليات إعادة التشغيل، فإن هذه التقنيات تتيح التحكم السلس في الأنظمة البعيدة.

أتقن إدارة الجلسات واملك المهارات للتعامل مع مختلف المهام الإدارية بكفاءة!

Source:
https://adamtheautomator.com/powershell-interactive-sessions/