يحتوي ويندوز على عدة أدوات مدمجة تساعد المستخدمين على إستخدام النظام بشكل أفضل و حل مشاكلهم التقنية. من بين هذه الأدوات (CMD (Command Prompt و PowerShell, واللذان ما يتم إستخدامهما غالبا لحل الأخطاء, تشغيل الأوامر, وصيانة النظام. كما يمكنك إستخدام العديد من الأوامر القابلة للتنفيذ على كليهما, و يمكننا إعتبار أن PowerShell هو الأخ الأكبر للـ CMD. لكن توجد بينهما بعض الإختلافات التي سنطرحها في هذا المقال.
1. ما هو موجه الأوامر (CMD)
جاء ويندوز 95 و 98 مع Command.com والذي كان يعرف أيضا بإسم MS-DOS. حيث يمكن المستخدمين من التواصل والتفاعل مباشرة مع نظام التشغيل ويندوز بإستخدام مجموعة من الأوامر الكتابية. ثم أطلقت مايكروسوفت (CMD (Command Prompt مع ويندوز NT والذي كان أفضل من النسخ السابقة.
يستخدم CMD في الغالب لتنفيذ أوامر الباتش, والتفاعل مع نظام الملفات (أوامر DIR), وحتى حل الأخطاء والمشاكل المرتبطة بنظام التشغيل والتي من الصعب حلها لوحدك.
2. ما هو الـ PowerShell
تم إصدار PowerShell لأول مرة في عام 2006 لـ Windows XP SP2. وبعدها جاء PowerShell 2.0 مع ويندوز 7 والذي جلب معه العديد من المميزات وكان متوافقا مع العديد من أوامر CMD.
أما في ويندوز 10 فهي تأتي كأداة كتابة أوامر بشكل إفتراضي, والسبب في إطلاق أداة PowerShell هو قدرتها على العمل مع لغة البرمجة #C كما أنها متكاملة مع .NET Framework.
وهذا الذي سمح للمستخدمين بكتابة مجموعة من السكريبتات والتي يمكن تخصيصها لتنفيذ أوامر تلقائية. كما يسمح بتنفيذ بعض المهام التى تحتاج صلاحيات الأدمن بشكل تلقائي. فهذا قد منح مرونة أكثر من CMD, فهي تعد بيئة أفضل لكتابة وتنفيذ الأوامر.
3. الفرق بين CMD و PowerShell
يستخدم CMD في الغالب من قبل مسؤولي النظام لمعالجة ملفات باتش (ملف يحتوي على مجموعة من الأوامر), وإستكشاف بعض الأخطاء الشائعة وإصلاح ملفات النظام الفاسدة.
أما PowerShell فيأخذ الأمور للمستوى التالي بالسماح لمسؤولي النظام بالتحكم بشبكة كاملة من الأنظمة, وعلى عكس CMD الذي يمكنه فقط تفسير وتنفيذ أوامر الباتش, فـ PowerShell يمكنه تفسير وتنفيذ أوامر الباتش وأوامر الـ PowerShell.
وهنا يأتي ما يعرف بـ ‘cmdlets’, وهي مجموعة من الأوامر يمكن للمستخدمين تنفيذها بأمر واحد فقط, وتسمى هذه المجموعة من الأوامر بالبرامج النصية (scripts), في CMD يجب عليك الإنتظار حتى يتم تنفيذ الأمر السابق بالكامل قبل إعطاء الأمر التالي. أما PowerShell فهو يوفر الوقت بهذه الطريقة.
على الرغم من أن PowerShell أداة قوية, ولكنها ليست في مثل قوة أدوات كتابة الأوامر التي يدعمها نظام التشغيل لينكس, نقترح عليك المقال التالي: ما هي توزيعة اللينكس ولماذا ومتي يجب عليك استخدام لينكس؟
4. متى عليك إستعمالهما
يستخدم CMD بشكل عام للتنقل بين ملفات النظام وبين المجلدات وإدارتها والتفاعل معهما, وتعديل الخصائص, كما يستعمل في إستكشاف الأخطاء وإصلاحها. فمثلا نستعمل الأمر SFC (مدقق ملفات النظام) للتأكد من سلامة ملفات النظام وإصلاحها.
PowerShell يفضل إستخدامه لإدارة البيانات, خصوصا عبر شبكة من أجهزة الكمبيوتر. بما أنه يمكنك من تشغيل أغلبية أوامر CMD عليه فهذا يعطيه ميزة إضافية. وكما ذكرنا سابقا فيمكنه تشغيل cmdlets والتى هي مجموعة من الأوامر (scripts) لتنفيذ الوظائف والمهام. ويمكنه أيضا تشغيل بعض خوارزميات التشفير والقيام ببعض مهام قواعد البيانات فهو مناسب للمبرمجين, ببساطة فهو مخصص للمهام المعقدة.
إذا كنت تريد أن تتعمق أكثر في إٍستعمال الـ PowerShell, فنقترح عليك زيارة Microsoft TechNet, فهو يحتوي على الكثير من الأمثلة والأدلة التي ستساعدك على فهم الأداة أكثر.