بدء تشغيل سطح مكتب بعيد من سطر الأوامر. الوصول إلى سطح المكتب البعيد

في إصدارات الخادم السابقة من Windows ، كان على المسؤول استخدام Terminal Services لإدارة الخادم عن بُعد. كان عيب هذا الحل هو الحاجة إلى نشر الخدمات الطرفية حتى عندما يحتاج المسؤول إلى اتصال بعيد واحد فقط لأداء المهام الإدارية الروتينية. يحتوي نظاما التشغيل Windows XP و Windows Server 2003 على آلية قياسية سطح المكتب البعيدللإدارة ، أو ببساطة سطح المكتب البعيد ، والذي يسمح لك بالاتصال عن بعد وإجراء العمليات اللازمة لإدارة الخادم. تعتمد هذه الآلية على Terminal Services وتدعم اتصالين متزامنين عن بعد (في Windows XP - واحد). يمكن للمسؤول إدارة كافة الخوادم التي تعمل بنظام التشغيل Windows Server 2003 من أي محطة عمل عن طريق الاتصال بها عن بُعد.

ملحوظة
آلية سطح المكتب البعيد للإدارة هي في الأساس نفس وضع الإدارة عن بعد الذي تدعمه Windows 2000 Terminal Services. في Windows Server 2003 ، يتم فصل مهمة الإدارة عن بعد عن Terminal Services ويتم تنفيذها كآلية منفصلة. أتاح فصل آلية الإدارة عن بُعد عن الخدمات الطرفية تقليل الحمل على الخادم إلى الحد الأدنى في حالة تحتاج فيها فقط إلى إدارة الخادم من كمبيوتر آخر.

يحتوي نظاما التشغيل Windows XP و Windows Server 2003 أيضًا على ميزة المساعدة عن بُعد التي تتيح للمستخدم بدء الوصول إلى أجهزة الكمبيوتر الخاصة به وتلقي المساعدة بشأنه المواقف الصعبة(انظر القسم التالي).

ملحوظة
بشكل افتراضي ، يتم تعطيل ميزات سطح المكتب البعيد والمساعدة عن بُعد.

بالإضافة إلى ذلك ، إذا تم تثبيت خادم ويب على جهاز كمبيوتر يعمل بنظام التشغيل Windows XP أو Windows Server 2003 كجزء من خدمات معلومات الإنترنت (IIS) ، فيمكنك من خلال هذا الكمبيوتر الوصول عن بُعد إلى أي نظام Windows XP أو Windows Server 2003 موجود فيه نفس الشبكة المحلية ، من مستعرض ويب (Internet Explorer 4.0 وما بعده) يعمل على أي نظام تشغيل. تسمح هذه الميزة ، على سبيل المثال ، على جهاز كمبيوتر منخفض الطاقة يعمل بنظام التشغيل Windows 95 بتشغيل مستعرض ، ومن خلال إدخال اسم نظام Windows Server 2003 بعيد يعتمد على بعض المعالجات القوية ، يمكنك العمل عليه في وضع ملء الشاشة.
يتم تشفير جميع جلسات الوصول عن بُعد لمنع الوصول غير المصرح به إلى البيانات والأنظمة: يتم تشفير بروتوكول RDP المستخدم باستخدام خوارزمية RC4.

إذن الوصول عن بعد

للتحكم في وضع الوصول عن بُعد (لا تخلط بينه وبين الوصول عن بُعد عبر اتصال الطلب الهاتفي!) استخدم علامة التبويب Remote (الاستخدام عن بُعد) في نافذة خصائص النظام (الشكل 10.9). (للوصول بسرعة إلى هذه النافذة ، يمكنك استخدام المفاتيح +.)
لتمكين المستخدمين من أجهزة الكمبيوتر الأخرى من الوصول إلى النظام الخاص بك ، حدد خانة الاختيار السماح للمستخدمين بالاتصال عن بعد بهذا الكمبيوتر. بالنقر فوق الزر تحديد المستخدمين البعيدين ، يمكنك تحديد المستخدمين المسموح لهم بالوصول عن بُعد (الشكل 10.10): سيتم تضمين هؤلاء المستخدمين في مجموعة مستخدمي سطح المكتب البعيد المحلية. بشكل افتراضي ، يمكن للمسؤولين فقط الوصول عن بعد إلى الكمبيوتر.
لا يمكنك استخدام حسابات بدون كلمة مرور للوصول عن بعد. في حالة وجود مثل هذه الإدخالات على الكمبيوتر ، فعند تحديد خانة الاختيار السماح للمستخدمين بالاتصال عن بُعد بهذا الكمبيوتر ، سيظهر تحذير ، كما هو موضح في الشكل. 10.11.

أرز. 10.9. نافذة التحكم عن بعد وسطح المكتب البعيد

أرز. 10.10. سيتم السماح للمستخدمين المحددين في هذه النافذة بالوصول عن بعد إلى سطح مكتب الكمبيوتر


أرز. 10.11. تذكير بأنه لا يمكن استخدام الحسابات التي لا تحتوي على كلمة مرور للوصول إلى جهاز كمبيوتر عن بُعد

تُستخدم الأداة المساعدة للاتصال بسطح المكتب البعيد لتهيئة جلسة الوصول عن بُعد (يتم تشغيلها من القائمة الفرعية Start | All Programs | Accessories | Communications أو باستخدام الأمر mstsc من سطر الأوامر). أدخل الاسم أو عنوان IP الخاص بجهاز الكمبيوتر البعيد وانقر فوق الزر "اتصال" (الشكل 10.12) - وفي غضون لحظات قليلة سترى نافذة تدعوك لتسجيل الدخول إلى النظام البعيد!

انتباه

أرز. 10.11. تذكير بأنه لا يمكن استخدام الحسابات التي لا تحتوي على كلمة مرور للوصول إلى جهاز كمبيوتر عن بُعد

بدء جلسة الوصول عن بعد وتكوينها

تُستخدم الأداة المساعدة للاتصال بسطح المكتب البعيد لتهيئة جلسة الوصول عن بُعد (يتم تشغيلها من القائمة الفرعية Start | All Programs | Accessories | Communications أو باستخدام الأمر mstsc من سطر الأوامر). أدخل الاسم أو عنوان IP الخاص بجهاز الكمبيوتر البعيد وانقر فوق الزر "اتصال" (الشكل 10.12) - وفي غضون لحظات قليلة سترى نافذة تدعوك لتسجيل الدخول إلى النظام البعيد!



أرز. 10.12. من هذه النافذة ، يمكنك بدء جلسة مع كمبيوتر بعيد

انتباه

في أنظمة Windows XP ، يؤدي تسجيل الدخول باستخدام Remote Desktop إلى "إخراج" المستخدم الحالي من النظام دون إغلاق الجلسة الحالية. إذا قام مستخدم بعيد بتسجيل الدخول باسم مستخدم مسجل بالفعل ، فسيحصل على بيئة العمل - النوافذ المفتوحة ، والبرامج قيد التشغيل - لهذا المستخدم ، والذي بدوره يمكنه تسجيل الدخول مرة أخرى ودفع "الأجنبي". فقط عند استخدام "المساعدة عن بعد" يمكن لمستخدمين العمل في نفس الجلسة في نفس الوقت. لا يحدث هذا في Windows Server 2003 لأنها تسمح بجلستين للإدارة عن بعد. ومع ذلك ، إذا كنت تستخدم الأمر mstsc / console ، فيمكنك الحصول على نفس وضع التشغيل كما في Windows XP - أي باستخدام "push".
في نافذة Remote Desktop Connection ، انقر فوق الزر Options وقم بمراجعة جميع علامات التبويب التي تحدد خيارات الاتصال عن بُعد بعناية. يمكنك ، على سبيل المثال ، ضبط حجم الشاشة وعمق اللون (حتى 24 بت) وسرعة الاتصال وما إلى ذلك. انتبه إلى علامة التبويب "الموارد المحلية" (الشكل 10.13).

أرز. 10.13. علامة التبويب التي تتحكم في إعادة تخصيص الأجهزة المحلية

بشكل افتراضي ، يتم إعادة توجيه الصوت من الكمبيوتر البعيد إلى الكمبيوتر المحلي ، ويمكنك الطباعة إلى الطابعة المحلية أثناء العمل على الكمبيوتر البعيد. إذا قمت بتحديد خانة اختيار محركات الأقراص ، فيمكنك استخدام أقراص كلا النظامين في نفس الوقت. يعد هذا مناسبًا للغاية ، على سبيل المثال ، لنسخ الملفات: "بنقرة من المعصم" في نافذة مستكشف Windows (حيث سيتم عرض أقراص كلا الجهازين) ، يمكنك نسخ أي معلومات من جهاز كمبيوتر بعيد إلى القرص المحلي الخاص بك .
تتيح لك علامة التبويب Experience (الشكل 10.14) تكييف جلسة الوصول عن بُعد لمعلمات الاتصال: يمكنك تعطيل بعض ميزات الرسومات للقنوات منخفضة السرعة وتمكين جميع الميزات عند الاتصال عبر شبكة محلية.

أرز. 10.14. تكوين معلمات الوصول عن بعد حسب سرعة قناة الاتصال

لتبديل نافذة الجلسة من شاشة ملء الشاشة إلى شاشة بحجم ثابت والعكس ، استخدم المفاتيح ++

تستخدم أنظمة Windows Server 2003 الأداة الإضافية Remote Desktops للوصول إلى الخدمات الطرفية. يمكن استخدامه أيضًا للوصول عن بُعد لأجهزة الكمبيوتر. على التين. يوضح الشكل 10.15 مثالاً للاتصال بجهازي كمبيوتر عن بُعد (الخادم البعيد ووحدة التحكم بالمجال) في نفس الوقت. يتم إنشاء وتكوين كل جلسة مسبقًا (راجع شجرة جلسة عمل الأداة الإضافية والوصول عن بُعد) ، وبعد ذلك يمكن بدء تشغيلها بسهولة عن طريق الإشارة إلى المؤشر في القائمة. يمكنك أيضًا التبديل بسهولة بين الجلسات المختلفة.


أرز. 10.15. نافذة إضافية لأجهزة الكمبيوتر المكتبية عن بُعد مع جلستي وصول عن بُعد متزامنتين

الخروج من الجلسة

عند العمل في جلسة وصول عن بعد إلى جهاز كمبيوتر ، يكون لدى المسؤول ثلاثة خيارات لإنهاء الجلسة (على أي حال ، يجب عليه فتح قائمة ابدأ (ابدأ) والنقر فوق زر إيقاف التشغيل (نهاية العمل)):

  • يمكنك إيقاف تشغيل الكمبيوتر عن طريق تحديد خيار إيقاف التشغيل في نافذة إيقاف تشغيل Windows ؛
  • يمكنك تسجيل الخروج من النظام عن طريق تحديد خيار تسجيل الخروج ؛
  • يمكنك إنهاء الجلسة الحالية عن طريق تحديد خيار قطع الاتصال - في هذه الحالة ، عند إعادة الاتصال بهذا الكمبيوتر بالاسم المستخدم سابقًا ، سيتلقى المسؤول نفس بيئة العمل (النوافذ المفتوحة والبرامج قيد التشغيل) التي "تركها" عند قطع الاتصال من الدورة.

الوصول عن بعد عبر الإنترنت

للوصول إلى جهاز الكمبيوتر الخاص بك عبر الإنترنت ، أدخل http: // في حقل العنوان في متصفحك.<имя_cepвepa>/ TSWeb ، حيث server_name هو اسم DNS لخادم الويب (الكمبيوتر المثبت عليه IIS) أو عنوان IP الخاص به.


أرز. 10.16. نافذة اتصال الإنترنت بجهاز كمبيوتر بعيد

بعد الاتصال بالخادم ، ستظهر صفحة ويب Remote Desktop Web Connection (الشكل 10.16) ، حيث يجب تحديد اسم أو عنوان الكمبيوتر الذي تريد الاتصال به في حقل الخادم ، ثم انقر فوق الزر "اتصال". يرجى ملاحظة أن أسماء خادم الويب والكمبيوتر الهدف قد تختلف: أي أنك "تقوم بتسجيل الدخول" إلى الشبكة من خلال جهاز كمبيوتر واحد ، ولكنك تتصل بأي جهاز آخر.

انتباه
لكي يعمل الوضع الموصوف ، يجب تثبيت مكون Remote Desktop Web Connection على الخادم كجزء من خدمة WWW (World Wide Web Service).

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


أرز. 10.17. تحذير حول تثبيت مكون ActiveX على جهاز كمبيوتر محلي

بعد ذلك ، يتم الاتصال بالكمبيوتر (الهدف) المحدد وتظهر نافذة التسجيل التقليدية. على التين. 10.18 على سبيل المثال ، يتم عرض نافذة مستعرض Internet Explorer ، والتي تعرض جلسة على كمبيوتر بعيد. يرجى ملاحظة أن نافذة العنوان تعرض عنوان IP لأحد أجهزة الكمبيوتر (التي دخلنا من خلالها إلى الشبكة) ، ويتم الاتصال بجهاز كمبيوتر آخر - تتم الإشارة إلى عنوانه أسفل الشاشة. تذكر أنه يمكن الحصول على مثل هذه الصورة في أي نظام تشغيل مثبت عليه Internet Explorer الإصدار 4.0 وما بعده. في وضع ملء الشاشة ، لا يتم عرض لوحات المتصفح على الإطلاق ، وسنرى فقط سطح المكتب للكمبيوتر البعيد.

أرز. 10.17. تحذير حول تثبيت مكون ActiveX على جهاز كمبيوتر محلي

بعد ذلك ، يتم الاتصال بالكمبيوتر (الهدف) المحدد وتظهر نافذة التسجيل التقليدية. على التين. 10.18 على سبيل المثال ، يتم عرض نافذة مستعرض Internet Explorer ، والتي تعرض جلسة على كمبيوتر بعيد. يرجى ملاحظة أن نافذة العنوان تعرض عنوان IP لأحد أجهزة الكمبيوتر (التي دخلنا من خلالها إلى الشبكة) ، ويتم الاتصال بجهاز كمبيوتر آخر - تتم الإشارة إلى عنوانه أسفل الشاشة. تذكر أنه يمكن الحصول على مثل هذه الصورة في أي نظام تشغيل مثبت عليه Internet Explorer الإصدار 4.0 وما بعده. في وضع ملء الشاشة ، لا يتم عرض لوحات المتصفح على الإطلاق ، وسنرى فقط سطح المكتب للكمبيوتر البعيد.



نشأت المهمة لأداء بعض العمليات باستخدام سطر الأوامر على كمبيوتر آخر ، انتقل بنفسه إلى المستخدم لتشغيل سطر الأوامر والقيادة في الأوامر - وليس طريقتنا ، نحتاج إلى بدء سطر أوامر الكمبيوتر البعيد دون الاستيقاظ من الكرسي وتنفيذ الإجراءات اللازمة على سطر الأوامر. بالطبع ، يمكن تنفيذ مثل هذا الإجراء باستخدام برامج الاتصال عن بُعد ، ولكن هذا ليس مناسبًا دائمًا ويتطلب منك أنت والمستخدم (خادم العميل) أن يكون لديك برنامج مشابه. يمكن تنفيذ إجراء الاتصال بسطر الأوامر بجهاز كمبيوتر آخر بشكل أكثر بساطة باستخدام الأمر PSEXEC.

بسيكسكهي أداة مساعدة لسطر الأوامر مع القدرة على استدعاء واجهة سطر الأوامر بشكل تفاعلي على أنظمة Windows البعيدة وتشغيل أوامر مختلفة عن بعد.

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

دعنا نحلل صيغة الأمر:

psexec [\\ computer [، computer2 [، ...] | @ ملف] [- مستخدم u [-p password]] [- n s] [- l] [- s | -e] [- x] [- i [جلسة]] [- c [-f | -v]] [-w دليل] [- د] [-<приоритет>] [- a n، n، ...] برنامج [وسيطات]

كمبيوتريخبر PsExec بتشغيل التطبيق على الكمبيوتر أو أجهزة الكمبيوتر المحددة. إذا لم يتم تحديد اسم الكمبيوتر ، فسيقوم PsExec بتشغيل التطبيق على النظام المحلي ؛ إذا تم تحديد رمز النجمة (\\ *) بدلاً من اسم الكمبيوتر ، فإن PsExec سيقوم بتشغيل التطبيق على جميع أجهزة الكمبيوتر في المجال الحالي.

@ملفيخبر PsExec بتشغيل التطبيق على جميع أجهزة الكمبيوتر المدرجة في الملف النصي المحدد.

يتم فصل المعالجات التي يمكن تشغيل التطبيق عليها بفواصل ، ويتم ترقيم المعالجات بدءًا من 1. على سبيل المثال ، لتشغيل التطبيق على المعالجات الثانية والرابعة ، اكتب "-a 2،4"

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

يُحدد عدم انتظار اكتمال التطبيق. يجب استخدام هذا الإعداد فقط عند تشغيل التطبيقات غير التفاعلية.

-eلم يتم تحميل ملف تعريف الحساب المحدد.

-Fيتم نسخ البرنامج المحدد إلى النظام البعيد ، حتى إذا كان الملف موجودًا بالفعل على النظام البعيد.

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

عند بدء العملية ، يتم منح المستخدم حقوقًا محدودة (يتم إبطال حقوق مجموعة المسؤولين ويتم منح المستخدم الحقوق المعينة لمجموعة المستخدمين فقط). في نظام التشغيل Windows Vista ، تبدأ العملية بـ مستوى منخفضالجدارة بالثقة.

يسمح لك بتعيين تأخير الاتصال بأجهزة الكمبيوتر البعيدة (بالثواني).

-pيسمح لك بتحديد كلمة مرور اختيارية لاسم المستخدم. إذا تم حذف هذه المعلمة ، سيُطلب منك إدخال كلمة مرور ، ولن يتم عرض كلمة المرور على الشاشة.

يتم تشغيل العملية البعيدة من حساب النظام.

-uيسمح لك بتحديد اسم مستخدم اختياري لتسجيل الدخول إلى النظام البعيد.

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

-wيسمح لك بتحديد دليل عمل (مسار داخل النظام البعيد) للعملية.

-xيعرض واجهة المستخدم على سطح مكتب Winlogon (النظام المحلي فقط).

-أولوية(الأولوية) يسمح لك بتعيين أولويات مختلفة للعملية: -منخفض (منخفض) ، -منخفض عادي (أقل من المتوسط) ، -أبوفيني عادي (فوق المتوسط) ،-مرتفع (مرتفع) ، أو -وقت حقيقي (الوقت الفعلي).

برنامجاسم البرنامج المراد تشغيله.

الحججوسيطات لتمريرها (لاحظ أنه يجب تحديد مسارات الملفات كمسارات محلية على النظام الهدف).

أمثلة على العمل الجماعي PSEXEC:

1) لبدء سطر الأوامر لجهاز كمبيوتر آخر ، يجب عليك إدخال
psexec \\<имя компьюетра>كمد

فمثلا:
psexec \\ WIN782 سمد



بعد ذلك يمكنك إدخال الأوامر التي تحتاجها.

2) لتشغيل برنامج (test.exe في هذا المثال) على كمبيوتر بعيد ، تحتاج إلى تنفيذ الأمر (هذا الأمر ينسخ برنامج test.exe إلى النظام البعيد وينفذه بشكل تفاعلي).

psexec \\<имя компьютера>-c test.exe

فمثلا:
psexec \\WIN782-c test.exe

3) إذا كان هذا البرنامج مثبتًا بالفعل على النظام البعيد ولم يكن موجودًا في دليل النظام ، فحدد المسار الكامل لهذا البرنامج

psexec \\ WIN782 c: \ temp \ test.exe

قد ترغب في الاستفادة من دعم الشاشات المتعددة المضمّن في أداة Windows Vista (سطح المكتب البعيد). تسمح لك هذه الميزة بتمديد سطح مكتب الكمبيوتر البعيد عبر جميع الشاشات المتصلة بالنظام المحلي.

ومع ذلك ، ليس من السهل العثور عليه - لا يمكن الوصول إليه من واجهة المستخدم الرسومية للأداة ، ولكن من سطر الأوامر.

قيود

يعد دعم الشاشات المتعددة عند الاتصال بسطح مكتب بعيد ميزة ملائمة للغاية ، لكن لها حدين:

1. يجب أن تتمتع جميع الشاشات المتصلة بالنظام بنفس الدقة.

2. يجب ألا تتجاوز دقة الشاشة لجميع الشاشات ، بما في ذلك تلك الموجودة على النظام البعيد ، 4096 × 2048 بكسل.

سطر الأوامر

لبدء تشغيل الاتصال بسطح المكتب البعيد مع دعم متعدد الشاشات ، تحتاج إلى فتح موجه الأوامر وإدخال الأمر التالي:


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

الشكل أ عند بدء اتصال سطح مكتب بعيد من سطر الأوامر ، يجب ملء إعدادات الاتصال يدويًا.

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

بعد ظهور نافذة سطح المكتب البعيد على الشاشة ، يمكن تمديدها بالماوس لملء الشاشة بأكملها. ضع في اعتبارك أنك إذا قمت بتقليل حجم نافذة سطح المكتب البعيد الممتدة ، فستحتاج إلى استخدام أشرطة التمرير الأفقية والعمودية لرؤية الشاشة بأكملها ، كما هو موضح في الشكل. ب. ولكن يمكن استعادتها دائمًا بالنقر فوق الزر "تكبير".



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

قم بإنشاء إختصار

بالطبع ، لا يعد تشغيل Remote Desktop Connection من سطر الأوامر في كل مرة أمرًا مريحًا للغاية. إذا كان لديك بالفعل ملف إعدادات RDP Remote Desktop Connection محفوظ ، فيمكنك إنشاء اختصار Windows قياسي للاتصال باستخدام هذا الملف وخيارات سطر الأوامر.

انقر انقر على اليمينبالماوس في أي مكان على سطح المكتب وحدد New | اختصار "(جديد | اختصار). في مربع الحوار إنشاء اختصار للمعالج ، أدخل الأمر mstsc / span والمسار إلى ملف RDP ، كما هو موضح في الشكل 1. ج. إذا كانت هناك مسافات في عنوان الملف ، فتأكد من وضعه بين علامتي اقتباس. الآن انقر فوق "التالي" (التالي) ، قم بتعيين الاختصار اسم مناسب، على سبيل المثال ، "Saturn - Connect. مع عدة المراقبين "وانقر على" إنهاء ".



الشكل C يمكنك إنشاء اختصار Windows قياسي للاتصال باستخدام ملف RDP وخيارات سطر الأوامر.

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

ماذا تعتقد؟

كم عدد الشاشات المتصلة بجهاز الكمبيوتر الخاص بك؟ كم مرة تستخدم اتصال سطح المكتب البعيد؟ هل ستستخدم دعم الشاشات المتعددة لـ Vista Remote Desktop Connection؟ شاركنا برأيك في التعليقات!

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

نظرًا لأن هذه المشكلة شائعة ، فهناك العديد من الطرق لحلها. بدءًا من سياسات المجموعة (التي يمكنك من خلالها استخدام البرامج النصية لتسجيل الدخول أو بدء التشغيل لهذا الغرض) ، وانتهاءً بـ أنظمة قويةالإدارة ، مثل System Center Essentials أو System Center Configuration Manager. لكن في هذه المقالة أريد أن أفكر في الأساليب التي تتوفر على الفور من سطر الأوامر أو ملفات البرامج النصية ، كما أنها لا تتطلب التثبيت المسبق للوكلاء وغيرها من الضجة. ومع ذلك ، هناك بالطبع بعض المتطلبات الأساسية. على سبيل المثال ، يجب أن يكون لديك امتيازات إدارية على الكمبيوتر الذي تريد تشغيل الأمر عليه (باستثناء سيناريو "الوكيل" ، ولكن المزيد عن ذلك لاحقًا).

برنامج Psexec.exe

إحدى الطرق المفضلة لإنجاز هذه المهمة هي الأداة المساعدة لسطر الأوامر PsExec.exe التي كتبها مارك روسينوفيتش ، والتي يمكنك تنزيلها مجانًا من موقع ويب Windows SysInternals. يمكنك العثور على رابط لها في نهاية المقال. لا يتطلب التثبيت على النظام ، يمكنك ببساطة نسخه إلى أحد المجلدات الموجودة في متغير البيئة٪ path٪ واستدعائه من أي غلاف سطر أوامر: Cmd أو PowerShell.

استخدام PsExec سهل للغاية. على سبيل المثال ، لتشغيل ipconfig / flushdns على الكمبيوتر الرئيسي ، ما عليك سوى تشغيل الأمر التالي:

psexec \\ main ipconfig / flushdns

سيتم تشغيل الأمر ipconfig على الكمبيوتر الرئيسي ضمن بيانات الاعتماد الخاصة بك. عند اكتمال ipconfig ، سيتم إرسال كل مخرجات النص إلى جهاز الكمبيوتر الخاص بك ، بالإضافة إلى سيتم إرجاع رمز الخروج الخاص بالأمر (رمز الخطأ). إذا كان الأمر ناجحًا ، فسيكون 0.


بالطبع ، إمكانيات PsExec لا تنتهي عند هذا الحد. من خلال استدعاء الأداة بدون معلمات ، يمكنك رؤية الخيارات الأخرى المتاحة. سأركز على القليل منهم فقط.

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

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

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

psexec -i \\ main winver.exe

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

psexecc: \ comps.txt systeminfo.exe

حسنًا ، إحدى أكثر الميزات المفيدة لبرنامج PsExec هي القدرة على إعادة توجيه الإدخال / الإخراج بشكل تفاعلي بين أجهزة الكمبيوتر ، مما يسمح لنا بتشغيل ، على سبيل المثال ، cmd.exe على خادم بعيد ، وإعطاء أوامر له والحصول على نتائج على المستوى المحلي الحاسوب.


كيف يعمل Psexec؟

كل شيء عبقري بسيط. تحتوي موارد PsExec.exe القابل للتنفيذ على ملف تنفيذي آخر ، PSEXESVC ، وهو خدمة Windows. قبل تنفيذ الأمر ، يقوم PsExec بفك ضغط هذا المورد إلى مجلد إداري مشترك مخفي على الكمبيوتر البعيد ، إلى الملف: \\ ComputerName \ Admin $ \ system32 \ psexesvc.exe. إذا أشرت باستخدام رمز التبديل -c إلى أنك تريد نسخ الملفات القابلة للتنفيذ إلى هذا النظام ، فسيتم أيضًا نسخها إلى هذا المجلد.

بمجرد اكتمال الخطوات التحضيرية ، تقوم PsExec بتثبيت الخدمة وبدء تشغيلها باستخدام واجهات برمجة تطبيقات إدارة خدمة Windows. بعد بدء PSEXESVC ، يتم إنشاء عدة قنوات بينها وبين PsExec لنقل البيانات (أوامر الإدخال والنتائج وما إلى ذلك). عند الانتهاء ، يقوم PsExec بإيقاف الخدمة وإزالتها من الكمبيوتر الهدف.

أجهزة إدارة Windows (WMI)

الطريقة التالية لتنفيذ هذه المهمة الشائعة التي أريد التحدث عنها هي استخدام Windows Management Instrumentation. كان WMI موجودًا في جميع أنظمة تشغيل Microsoft منذ Windows 2000 ، وحتى على Windows 9x يمكن تثبيته من حزمة منفصلة. يتم تمكين WMI افتراضيًا ولا يتطلب أي تكوين إضافي. لاستخدامه ، تكون الحقوق الإدارية كافية ، ويسمح بروتوكول DCOM على جدار الحماية. يوفر WMI مجموعة كبيرة من الخيارات لإدارة الأنظمة ، ولكننا مهتمون فقط بواحد منها في الوقت الحالي.

لبدء العمليات ، نحتاج إلى طريقة الإنشاء لفئة Win32_Process. إنه سهل الاستخدام بدرجة كافية. في PowerShell ، يتم ذلك على النحو التالي:

$ الكمبيوتر = "رئيسي"
الأمر $ = "cmd.exe / c systeminfo.exe>
("\\ $ Computer \ root \ cimv2: Win32_Process"). إنشاء ($ Command)

هنا ، قمت بتحديد cmd.exe كعملية يجب إطلاقها ، وقمت بالفعل بتمريرها كوسيطات الأمر المطلوب. يعد هذا ضروريًا إذا كنت بحاجة إلى استخدام متغيرات البيئة للكمبيوتر البعيد أو عبارات cmd.exe المضمنة مثل " > لإعادة توجيه الإخراج إلى ملف. لا تنتظر طريقة الإنشاء حتى تكتمل العملية ولا تُرجع أي نتائج ، ولكنها تخبرنا بدلاً من ذلك بالمعرف - معرف العملية.

إذا كنت تستخدم جهاز كمبيوتر لم يتم تثبيت PowerShell عليه بعد ، فيمكنك أيضًا استدعاء طريقة WMI هذه من برنامج نصي VBScript. على سبيل المثال مثل هذا:

سرد رقم 1 - بدء عملية باستخدام WMI (VBScript)

الكمبيوتر = "PC3"
الأمر = "cmd.exe / c systeminfo.exe> ​​\\ server \ share \٪ computername٪ .txt"
اضبط objWMIService = GetObject ("winmgmts: \\" & Computer & "\ root \ cimv2: Win32_Process")
النتيجة = objWMIService.Create ("calc.exe"، Null، Null، intProcessID)

ولكن من الأسهل بكثير استخدام الأداة المساعدة لسطر الأوامر wmic.exe ، والتي توفر واجهة ملائمة إلى حد ما للعمل مع WMI وهي مضمنة في أنظمة التشغيل التي تبدأ من Windows XP. في ذلك ، لتشغيل آلة حاسبة على الكمبيوتر الرئيسي ، على سبيل المثال ، ما عليك سوى تشغيل الأمر التالي:

wmic / node: استدعاء العملية الرئيسية إنشاء calc.exe

بالطبع ، لا تقتصر قدرات WMI على مجرد بدء العمليات. إذا كنت مهتمًا بمعرفة المزيد عن هذه التقنية ، فأوصيك بقراءة مقالات Konstantin Leontiev على WMI ، وهي روابط يمكنك العثور عليها في نهاية المقالة.

WSH البرمجة النصية عن بعد

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

لذلك ، لتشغيل البرنامج النصي على كمبيوتر آخر باستخدام WSH ، نحتاج إلى القيام بما يلي:

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

    تمكين WSH Remote Scripting عن طريق إنشاء معلمة السلسلة Remote تساوي "1" في سجل النظام في مفتاح التسجيل HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows Script Host \ Settings

    بسبب الخطأ الموضح في مقالة قاعدة معارف Microsoft 311269 ، في أنظمة Windows XP ، قد تحتاج إلى تشغيل wscript –regserver

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

    في أنظمة Windows XP المزودة بحزمة الخدمة Service Pack 2 والإصدارات الأحدث ، يجب تغيير إعدادات أمان DCOM. يمكن القيام بذلك باستخدام نهج المجموعة. في عقدة تكوين الكمبيوتر \ إعدادات Windows \ إعدادات الأمان \ النهج المحلية \ خيارات الأمان ، قم بتعيين الأذونات على النحو التالي:

    1. DCOM: قيود الوصول إلى الجهاز في بناء جملة لغة تعريف واصف الأمان (SDDL)
      منح "تسجيل الدخول المجهول" ومجموعات "السماح المحلي" و "السماح بالوصول البعيد"

      DCOM: قيود تشغيل الجهاز في بناء جملة لغة تعريف واصف الأمان (SDDL)
      امنح مجموعة المسؤولين أذونات السماح بالتشغيل المحلي ، والسماح بالتشغيل عن بُعد ، والسماح بالتنشيط المحلي ، والسماح بالتنشيط عن بُعد
      مجموعة الجميع - السماح بالتشغيل المحلي ، والسماح بالتنشيط المحلي

حسنًا ، بعد كل هذه الإجراءات ، يمكنك محاولة تشغيل البرنامج النصي على جهاز كمبيوتر آخر.

مثال على نص برمجي يستخدم هذه التقنية:

القائمة رقم 2 - WSH البرمجة النصية عن بعد (VBScript)

اضبط objController = CreateObject ("WshController")
اضبط objRemoteScript = objController.CreateScript ("C: \ test.vbs"، "PC5")WScript.ConnectObject objRemoteScript ، "remote_"
objRemoteScript.Execute
افعل أثناء objRemoteScript.Status<> 1
WScript ، النوم 1000
عقدة
MsgBox "اكتمل البرنامج النصي"
Sub remote_Error
خافت خطأ
اضبط objError = objRemoteScript.Error
WScript.Echo "خطأ - خط:" & objError.Line & _
"، Char:" & objError.Character & vbCrLf & _
"الوصف:" & objError.Description
WScript قم بإنهاء -1
نهاية الفرعية

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

يمكن العثور على مقالة أكثر تفصيلاً حول هذه التقنية في المقالة Advanced VBScript for Microsoft Windows Administrators - الفصل السادس: البرمجة النصية عن بعد(انظر الروابط).

جدول المهام

يمكن التحكم في برنامج جدولة المهام من سطر الأوامر باستخدام أداتين مساعدتين - at.exe و schtasks.exe. تسمح لك هاتان الأداتان بتحديد اسم كمبيوتر بعيد لإنشاء وظيفة ، وبالتالي تتيح لك حل مشكلتنا. ولكن بالتفصيل سننظر فقط في schtasks.exe ، لأنه يوفر ميزات أكثر بكثير.

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

schtasks / create / s server6.td.local / tn install / tr \\ main / data / install.cmd / sc مرة واحدة / st 13:00 / ru system

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

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

القائمة رقم 3 - تثبيت البرنامج ثم حذف الوظيفة (Windows Batch)

msiexec / qn / package \\ server \ share \ subinacl.msi
إن وجدت "c: \ program files \ Windows Resource Kits \ Tools \ subinacl.exe" (
subinacl / tn Install_Subinacl / f

WinRM (إدارة WS)

WinRM هو تطبيق Microsoft للمعيار المفتوح DMTF (فريق مهام الإدارة الموزعة) الذي يسمح بإدارة الأنظمة باستخدام خدمات الويب. لن أخوض في جهاز التكنولوجيا ، لكنني سأصف فقط بإيجاز ما هو ضروري لاستخدامها.

يتم تضمين WinRM الإصدار 1 والإصدارات الأحدث مع أنظمة التشغيل التي تبدأ من Windows Vista و Windows Server 2008. بالنسبة لنظامي التشغيل Windows XP و Windows Server 2003 ، يمكنك تثبيت WinRM كحزمة منفصلة (انظر الروابط).

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

winrm Quickconfig

لمنع winrm من طلب التأكيد ، يمكنك إضافة مفتاح -quiet إلى المكالمة. لمزيد من المعلومات حول الضبط الدقيق ، راجع تعليمات winrm المضمنة:

winrm مساعدة التكوين

إذا كان الكمبيوتر المُدار يقوم بتشغيل خادم ويب ، فلن يتداخل WinRM معه بأي شكل من الأشكال ، على الرغم من أنه يستخدم منافذ HTTP القياسية افتراضيًا. سوف يعترض فقط الاتصالات المخصصة له.

بالطبع ، ليس عليك تشغيل هذا الأمر يدويًا على كل جهاز كمبيوتر تريد إدارته. يمكن إجراء جميع الإعدادات الضرورية بسهولة باستخدام سياسات المجموعة. لهذا تحتاج:

  1. قم بتعيين خدمة WinRM (Windows Remote Management) للبدء تلقائيًا
  2. تكوين عنصر نهج المجموعة تكوين الكمبيوتر \ القوالب الإدارية \ مكونات Windows \ إدارة Windows عن بعد (WinRM) \ خدمة WinRM \ السماح بالتكوين التلقائي للمستمعين. تحتاج هنا إلى تحديد نطاقات عناوين IP التي يُسمح بالاتصالات من خلالها.
  3. بالطبع ، ستحتاج أيضًا إلى السماح بالاتصالات على المنافذ المناسبة (80 افتراضيًا) في جدار حماية Windows.

بغض النظر عما إذا كان منفذ HTTP (80) أو HTTPS (443) مستخدمًا ، فإن حركة المرور المرسلة بواسطة WinRM تكون مشفرة (ما لم تقم بتعطيل هذا الخيار بالطبع). بروتوكول المصادقة الافتراضي هو Kerberos.

ولكن بما يكفي حول الإعدادات ، من الأفضل أن تذهب مباشرة إلى الاستخدام. على الرغم من أن الأداة المساعدة winrm تسمح لك بتكوين خدمة WinRM ، وكذلك تنفيذ استعلامات WMI ، على سبيل المثال ، نحن مهتمون أكثر بواحد آخر - winrs. تعني الأحرف RS هنا Remote Shell. يعمل WinRS بشكل مشابه جدًا لـ PsExec ، على الرغم من أنه يستخدم تقنية WinRM. يتم تحديد اسم الكمبيوتر بمفتاح التبديل -r ، متبوعًا بالأمر المراد تنفيذه. وهنا بعض الأمثلة:

winrs -r: Core ver.exe

نظرًا لأن winrs تستخدم بالفعل cmd.exe كقذيفة بعيدة ، يمكنك الوصول بسهولة إلى متغيرات البيئة البعيدة في الأوامر ، أو استخدام أوامر cmd.exe المضمنة الأخرى:

winrs -r: Core "dir c: \ temp> c: \ temp \ list.txt"

مثل PsExec ، تتيح لك الأداة المساعدة winrs فتح جلسة تفاعلية على كمبيوتر بعيد:

winrs -r: الملف الرئيسي cmd.exe

تشبه هذه الوظيفة جلسة telnet ، ولكن استخدام winrs أفضل بالتأكيد من telnet وحتى PsExec من وجهة نظر أمنية. بغض النظر عما إذا كان منفذ HTTP (80) أو HTTPS (443) مستخدمًا ، فإن حركة المرور المرسلة بواسطة WinRM تكون مشفرة (ما لم تقم بتعطيل هذا الخيار بالطبع). بروتوكول المصادقة الافتراضي هو Kerberos.

Windows PowerShell 2.0 عن بُعد

على الرغم من أن الإصدار الثاني من Windows PowerShell لا يزال قيد الاختبار التجريبي وقت كتابة هذا التقرير ، حول إمكانياته في هذا المجال التنفيذ عن بعدالفرق بالتأكيد تستحق الحديث عنها الآن. يمكنك تجربتها بنفسك إما عن طريق تنزيل إصدار المعاينة (انظر الروابط) أو كجزء من الإصدار التجريبي من Windows 7 أو Windows Server 2008 R2.

تعتمد البنية الأساسية لـ PowerShell Remoting على الإصدار 2.0 من WinRM ، وبالتالي فهي ترث جميع مزايا هذه التقنية ، مثل تشفير البيانات المرسلة والقدرة على العمل على منافذ HTTP / HTTPS القياسية. ولكن بفضل الميزات الغنية للغة Windows PowerShell وقدرتها على العمل مع الكائنات ، نحصل على المزيد من الفرص. على ال هذه اللحظة WinRM2.0 أيضًا في مرحلة تجريبية ومتاح فقط للتنزيل على أنظمة Windows Vista و Windows 2008. سيتم تضمينه في أنظمة Windows 7 و Windows Server 2008R2 خارج الصندوق ، إلى جانب PowerShell 2.0.

تحديث: بحلول وقت نشر المقالة على الموقع ، كانت الإصدارات النهائية من PowerShell 2.0 و WinRM 2.0 متاحة بالفعل لجميع الأنظمة الأساسية المدعومة. تم تضمينها بالفعل في Windows Server 2008R2 و Windows 7 كمكونات متكاملة للنظام ، وبالنسبة لنظام التشغيل Windows XP و Windows Server 2003 و Windows Vista و Windows Server 2008 ، يمكن الحصول على جميع المكونات الضرورية كحزمة تسمى Windows Management Framework.

قبل أن تتمكن من الاستفادة الكاملة من هذه الفوائد ، يجب تمكين PowerShell Remote على كل من أجهزة الكمبيوتر الإدارية والمدارة. من السهل القيام بذلك عن طريق تشغيل الأمر cmdlet (أمر Windows PowerShell) Enable-PSRemoting. علاوة على ذلك ، إذا قمت بإضافة مفتاح -Force ، فلن يُطلب تأكيد. سيستدعي الأمر cmdlet هذا winrs quickconfig إذا لزم الأمر ، وسيقوم بإنشاء استثناءات في جدار حماية Windows ، لذلك لا يلزم اتخاذ أي إجراء آخر.

يمكنك بعد ذلك تنفيذ الأوامر بسهولة على أجهزة الكمبيوتر الأخرى باستخدام Invoke-Command cmdlet (أو الاسم المستعار icm):

استدعاء الأوامر -ComputerName Main -ScriptBlock (تفريغ واجهة netsh> c: \ ipconfig.txt)

بالطبع ، يمكن وضع الأمر في متغير مقدمًا ، وبالنسبة للمعامل -ComputerName ، حدد أسماء ليس واحدًا ، ولكن عدة أجهزة كمبيوتر في وقت واحد. يتيح لك التسلسل التالي عرض إصدار ملف Explorer.exe من ثلاثة أجهزة كمبيوتر في وقت واحد.

الأمر $ = ((get-item c: \ Windows \ explorer.exe) .VersionInfo.FileVersion)
استدعاء الأوامر -ComputerName الرئيسي ، Server7 ، نسخة طبق الأصل -ScriptBlock $ Command


كما ترى ، يمكنك تمرير عدة أوامر في وقت واحد في كتلة واحدة ، ووضع نتائج تنفيذها على العديد من أجهزة الكمبيوتر في متغير ، ثم معالجتها على محطة العمل باستخدام إمكانات معالجة كائن Windows PowerShell.

ومع ذلك ، فإن إمكانيات PowerShell عن بُعد قد بدأت للتو. يمكنك استخدام Enter-PSSession cmdlet للدخول إلى جلسة Windows PowerShell تفاعلية على كمبيوتر بعيد. يمكنك الخروج من هذه الجلسة باستخدام Exit-PSSession cmdlet ، أو ببساطة الخروج.

يُنشئ الأمر New-PSSession cmdlet جلسات على أجهزة الكمبيوتر البعيدة، المؤشرات التي يمكن وضعها في متغير ، ثم تمريرها كوسيطة لـ Invoke-Command لتنفيذ الأوامر على العديد من أجهزة الكمبيوتر في وقت واحد ، في بيئة ثابتة. يمكنك رؤية مثال في لقطة الشاشة ، حيث أقوم بتنفيذ سلسلة من الأوامر على عدة أجهزة كمبيوتر في وقت واحد من قائمة c: \ computer.txt.


الوكيل

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

في أغلب الأحيان ، يحل الأشخاص مثل هذه المشكلات باستخدام أدوات مساعدة مثل cpau.exe (انظر الروابط) التي تنشئ ملفًا بكلمة مرور حساب مسؤول مشفرة تسمح لك بتشغيل برنامج معين. ومع ذلك ، تكمن المشكلة في أنه على الرغم من تشفير كلمة المرور ، يجب على الأداة المساعدة فك تشفيرها قبل تشغيل البرنامج. وبناءً على ذلك ، يمكن للمستخدم استخدام أداة تكرر خوارزمية فك تشفير كلمة المرور ومعرفة ذلك ، من أجل استخدامها بعد ذلك لتشغيل برامج أخرى أو الحصول على امتيازات إضافية. من الناحية العملية ، يعد هذا بالطبع صعبًا جدًا للمستخدمين العاديين الذين ليس لديهم معرفة خاصة ، ولكن ، مع ذلك ، هذا ممكن تمامًا. مرة أخرى ، سأوضح أن هذه ليست مشكلة أداة معينة ، ولكن مشكلة هذا النهج بشكل عام.

قد يبدو أيضًا أن الخيار / save في الأداة المساعدة runas مناسب لحل المشكلة. ولكن هناك مشكلتان هنا. أولاً ، كما في الحالة الموضحة أعلاه ، يتم تخزين كلمة المرور على كمبيوتر المستخدم ، وبالتالي يمكن فك تشفيرها ، على الرغم من أنه في حالة runas ، سيتطلب ذلك حقوق المسؤول المحلي. ثانيًا ، يحفظ Runas بيانات الاعتماد دون ربطها بأمر معين ، وبالتالي ، سيكون المستخدم قادرًا على التشغيل بحقوق مرتفعة ليس فقط الأمر الذي تريد منحه حق الوصول إليه ، ولكن أيضًا أي أمر آخر.

لتجنب هذه المشاكل ، مع السماح بتشغيل أمر معين ، يمكن استخدام تقنية تسمى "البروكسيات".

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

لتنظيم هذا النظام ، سنضعه على الخادم ، على سبيل المثال ، في المجلد c: \ scripts \ ، والملفات الدفعية Server.cmd و Action.cmd.

القائمة رقم 4 - Server.cmd (Windows Batch)

تعيين المشغل = c: \ commandShare \ trigger.txt
تعيين الإجراء = c: \ scripts \ action.cmd
ضبط السجل = c: \ scripts \ log.txt
:بداية
إذا كان موجودًا٪ trigger٪ start٪ action٪ & echo٪ time٪٪ date٪ >>٪ log٪ & del٪ trigger٪
sleep.exe 5
توجه إلى البداية

القائمة رقم 5 - Action.cmd (Windows Batch)

من أجل / f "skip = 4 tokens = 1" ٪٪ a in ('net files') قم بإغلاق net files ٪٪ a /
خروج

سينتظر Server.cmd تسجيل الدخول من المستخدم (إنشاء ملف بتنسيق مكان محدد) ، وبعد استلامه ، قم بتشغيل الملف بالأوامر - Action.cmd. بالطبع ، يجب ألا يكون لدى المستخدمين أي وصول إلى هذا المجلد. يمكن ترتيب التشغيل التلقائي لـ Server.cmd عند بدء تشغيل الكمبيوتر ببساطة عن طريق إنشاء المهمة المناسبة في المجدول:

schtasks / create / ru domain \ administrator / rp / sc onstart / tn ProxyScript / tr c: \ scripts \ server.cmd

بعد المعلمة / ru ، تتم الإشارة إلى الحساب الذي سيتم تنفيذ البرنامج النصي تحته (في حالتنا ، له حقوق المسؤول على الخادم) ، نظرًا لأن كلمة المرور غير محددة بعد المعلمة / rp - سيتم طلبها عند إنشاء مهمة. يتيح لك الخيار / sc تحديد وقت تشغيل البرنامج النصي ، في حالتنا ، عند تشغيل الكمبيوتر. حسنًا ، يسمح لك / tn و / tr بتحديد اسم المهمة والملف القابل للتنفيذ.

الآن ، لكي يقوم المستخدم بالإشارة إلى البرنامج النصي ، سننشئ مجلد c: \ commandShare ونجعله متاحًا على الشبكة. يجب أن يكون لدى المستخدمين الذين سيقومون بتشغيل الأمر فقط حق الوصول للكتابة إلى هذا المجلد.

بعد ذلك ، يكفي وضع ملف Run.cmd على سطح مكتب المستخدم.

القائمة رقم 6 - Run.cmd (Windows Batch)

اختبار الصدى> \\ server \ commandShare \ trigger.txt

عند تنفيذه ، نيابة عن المستخدم ، سيتم إنشاء الملف \\ server \ commandShare \ trigger.txt. البرنامج النصي Server.cmd ، بعد أن لاحظ ذلك ، سيقوم بتشغيل ملف Action.cmd بامتيازاته ، وإضافة إدخال إلى ملف c: \ scripts \ log.txt حول الوقت الحالي ، ثم حذف المشغل. لتنفيذ الأمر مرة أخرى حتى إشارة المستخدم التالية.

يستخدم البرنامج النصي Server.cmd الأداة المساعدة Sleep.exe لإيقاف تنفيذ البرنامج النصي مؤقتًا لفترة زمنية محددة بالثواني. لم يتم تضمينه في نظام التشغيل ، ولكن يمكن أخذها من أدوات أدوات الموارد (انظر الروابط) ونسخها ببساطة إلى أي جهاز كمبيوتر.