كيفية تشغيل أوامر PowerShell على أجهزة الكمبيوتر عن بعد
يتيح لك PowerShell Remoting تشغيل أوامر PowerShell أو الوصول إلى جلسات PowerShell الكاملة على أنظمة Windows عن بعد. إنه يشبه SSH للوصول إلى المطاريف البعيدة على أنظمة التشغيل الأخرى.
يتم تأمين PowerShell بشكل افتراضي ، لذا سيكون عليك تمكين PowerShell Remoting قبل استخدامه. تكون عملية الإعداد هذه أكثر تعقيدًا بعض الشيء إذا كنت تستخدم مجموعة عمل بدلاً من نطاق - على سبيل المثال ، على شبكة منزلية - ولكننا سنرشدك خلاله.
تمكين PowerShell Remoting على جهاز الكمبيوتر الذي تريد الوصول إليه عن بُعد
الخطوة الأولى هي تمكين PowerShell Remoting على الكمبيوتر الشخصي الذي تريد إجراء اتصالات عن بعد. في هذا الكمبيوتر ، ستحتاج إلى فتح PowerShell بامتيازات إدارية.
في Windows 10 ، اضغط على Windows + X ثم اختر PowerShell (المسؤول) من قائمة Power User.
في نظام التشغيل Windows 7 أو 8 ، اضغط على Start ، ثم اكتب "powershell". انقر بزر الماوس الأيمن على النتيجة واختر "تشغيل كمسؤول".
في نافذة PowerShell ، اكتب الأمر cmdlet التالي (اسم PowerShell لأمر) ، ثم اضغط على Enter:
تمكين- PSRemoting -Force
يبدأ هذا الأمر في تشغيل خدمة WinRM ، ويعينه ليبدأ تلقائيًا مع النظام الخاص بك ، ويقوم بإنشاء قاعدة جدار حماية تسمح بالاتصالات الواردة. ال -فرض
يوضح جزء من الأمر cmdlet PowerShell لتنفيذ هذه الإجراءات دون مطالبتك بكل خطوة.
إذا كانت أجهزة الكمبيوتر الخاصة بك جزءًا من مجال ، فهذا هو الإعداد الذي يجب عليك القيام به. يمكنك التخطي للأمام لاختبار الاتصال. إذا كانت أجهزة الكمبيوتر الخاصة بك جزءًا من مجموعة عمل - ربما تكون موجودة على شبكة منزلية أو شبكة أعمال صغيرة - فلديك المزيد من أعمال الإعداد للقيام.
ملاحظة: يعتمد نجاحك في إعداد الاتصال عن بُعد في بيئة مجال بالكامل على إعداد الشبكة. قد يتم تعطيل الاتصال عن بُعد أو تمكينه تلقائيًا بواسطة سياسة المجموعة التي تم تكوينها بواسطة المشرف. قد لا يكون لديك أيضًا الأذونات التي تحتاج إليها لتشغيل PowerShell كمسؤول. كما هو الحال دائمًا ، تحقق من المشرفين قبل تجربة أي شيء من هذا القبيل. قد يكون لديهم أسباب وجيهة لعدم السماح بالممارسة ، أو قد يكونون على استعداد لإعدادها لك.
انشاء مجموعة العمل الخاصة بك
إذا لم تكن أجهزة الكمبيوتر لديك على مجال ، فستحتاج إلى تنفيذ بضع خطوات إضافية لإعداد الأشياء. يجب أن تكون قد قمت بالفعل بتمكين الاتصال عن بُعد على جهاز الكمبيوتر الذي تريد الاتصال به ، كما هو موضح في القسم السابق.
ملاحظة: لكي يعمل RemoteShell Remoting في بيئة مجموعة العمل ، يجب عليك تكوين شبكتك كشبكة خاصة وليست عامة. لمعرفة المزيد عن الاختلاف وكيفية التغيير إلى شبكة خاصة إذا كان لديك بالفعل إعداد شبكة عامة ، تحقق من دليلنا على الشبكات الخاصة مقابل الشبكات العامة.
بعد ذلك ، تحتاج إلى تكوين إعداد TrustedHosts على كل من الكمبيوتر الذي تريد الاتصال به و الكمبيوتر الشخصي (أو أجهزة الكمبيوتر الشخصي) التي ترغب في الاتصال بها ، حتى تثق أجهزة الكمبيوتر بعضها البعض. يمكنك القيام بذلك بإحدى طريقتين.
إذا كنت متصلاً بشبكة منزلية ترغب في المضي قدمًا فيها وثق بأي جهاز كمبيوتر للاتصال عن بعد ، فيمكنك كتابة الأمر cmdlet التالي في PowerShell (مرة أخرى ، ستحتاج إلى تشغيله كمسؤول).
wsman Set-Item: \ localhost \ client \ trustedhosts *
العلامة النجمية هي رمز بدل لجميع أجهزة الكمبيوتر. إذا أردت بدلاً من ذلك تقييد أجهزة الكمبيوتر التي يمكنها الاتصال ، فيمكنك استبدال العلامة النجمية بقائمة عناوين IP مفصولة بفواصل أو أسماء أجهزة كمبيوتر لأجهزة الكمبيوتر المعتمدة.
بعد تشغيل هذا الأمر ، ستحتاج إلى إعادة تشغيل خدمة WinRM حتى يتم تفعيل إعداداتك الجديدة. اكتب الأمر cmdlet التالي ثم اضغط على Enter:
إعادة تشغيل الخدمة WinRM
وتذكر أنك ستحتاج إلى تشغيل هذين cmdlets على الكمبيوتر الشخصي الذي تريد الاتصال به ، وكذلك على أي أجهزة كمبيوتر ترغب في الاتصال بها.
اختبار الاتصال
الآن بعد أن قمت بإعداد أجهزة الكمبيوتر الخاصة بك لـ PowerShell Remoting ، حان الوقت لاختبار الاتصال. على الكمبيوتر الذي تريد الوصول إليه من النظام البعيد ، اكتب الأمر cmdlet التالي في PowerShell (استبدال "COMPUTER" باسم أو عنوان IP الخاص بجهاز الكمبيوتر البعيد) ، ثم اضغط على Enter:
Test-WsMan COMPUTER
يختبر هذا الأمر البسيط ما إذا كانت خدمة WinRM تعمل على الكمبيوتر البعيد. إذا اكتمل بنجاح ، سترى معلومات حول خدمة WinRM الخاصة بالكمبيوتر البعيد في النافذة التي تشير إلى أنه تم تمكين WinRM ويمكن للكمبيوتر الاتصال. إذا فشل الأمر ، فسترى رسالة خطأ بدلاً من ذلك.
تنفيذ أمر واحد عن بعد
لتشغيل أمر على النظام البعيد ، استخدم استدعاء-القيادة
cmdlet باستخدام الصيغة التالية:
استدعاء الأمر -ComputerName COMPUTER -ScriptBlock COMMAND - USERNAME الاعتمادية
يمثل "COMPUTER" اسم جهاز الكمبيوتر البعيد أو عنوان IP. "COMMAND" هو الأمر الذي تريد تشغيله. "USERNAME" هو اسم المستخدم الذي تريد تشغيل الأمر به على الكمبيوتر البعيد. ستتم مطالبتك بإدخال كلمة مرور لاسم المستخدم.
وهنا مثال على ذلك. أريد عرض محتويات C: \ directory على كمبيوتر بعيد باستخدام عنوان IP 10.0.0.22. أريد استخدام اسم المستخدم "wjgle" ، لذلك سأستخدم الأمر التالي:
Invoke-Command -ComputerName 10.0.0.22 -ScriptBlock Get-ChildItem C: \-wred wjgle
بدء جلسة عمل عن بعد
إذا كان لديك العديد من أوامر cmdlets التي تريد تشغيلها على الكمبيوتر البعيد ، بدلاً من كتابة أمر استدعاء الأوامر بشكل متكرر وعنوان IP البعيد ، فيمكنك بدء جلسة عمل بعيدة بدلاً من ذلك. ما عليك سوى كتابة الأمر cmdlet التالي ثم الضغط على Enter:
أدخل PSSession -ComputerName COMPUTER -Credential USER
مرة أخرى ، استبدل "COMPUTER" باسم أو عنوان IP للكمبيوتر البعيد واستبدل "USER" باسم حساب المستخدم الذي تريد استدعاء.
تغييرات المطالبة الخاصة بك للإشارة إلى الكمبيوتر البعيد الذي تتصل به ، ويمكنك تنفيذ أي عدد من أوامر PowerShell cmdlets مباشرة على النظام البعيد.