كنت اتصفح بعض المواقع التعليمية الخاصة بالبرمجة , الى ان ظهر لي احد المواضيع حول الPowerShell , استمتعت حقا بقراءة ذلك الموضوع , ففكرت في ان ابحث اكثر عن الPowerShell لأعمق افكاري و أوسع مداركي بالطبع , لكن تفاجئت انه لا توجد الكثير من المواقع العربية التي تتحدث عن الPowerShell الا من رحم ربه , بعض القنوات العربية على اليوتيوب و بعض المواقع العربية الاخرى التي لم افقه شيئا فيها حول الPowerShell , ففكرت في ان اوسع مداركي في افاق اجنبية و مواقع ليست عربية بالطبع , فقرأت و قرأت و فهمته , و الان حانت مهمتي لاوضح و استعرض ما تعلمته عن الPowerShell في موقعي العزيز أكوا ويب ... فأربطو الاحزمة من فضلكم و انتبهو معنا في هذا الموضوع :) , اذ سأقدم هذا الموضوع على شكل اسألة اطرحها و اجيب عليها بالطبع .
إقرأ أيضا : بالصور طريقة ترقية نظامك الى اخر نسخة رسمية من الويندوز 10 بطريقة صحيحة
إقرأ أيضا : بالصور طريقة ترقية نظامك الى اخر نسخة رسمية من الويندوز 10 بطريقة صحيحة
ما هو الWindows PowerShell في ابسط مفاهيمه ؟
حسنا , بكل بساطة شديدة , الWindows PowerShell هو عبارة عن نافذة زرقاء اللون في الويندوز , بسيطة و سلسلة , تحول لك النظام الذي تستعمله يوميا بواسطة النقرات و الازرار (GUI) الى نظام يشتغل بالاكواد و البرمجيات .. فبدل مثلا ان اقوم بعمل Copy / Past لملف ما و اضعه في ملف اخر , يمكنني ان افعل ذلك بالاستعانة بالWindows PowerShell .
هل هو شبيه بالTerminal الخاص بالLinux ؟
في الحقيقة هو كذلك و ليس كذلك , ان كنا سنقارنه من ناحية الاكواد فبالتأكيد لا و الف لا مخالف لاكواد اللنكس , لكن ان كنا سنقارنه من ناحية العمل , اذ اننا يمكننا الولوج و التحكم في النظام كامله من خلال الTerminal الموجود في اللنكس , فاننا يمكننا ذلك في الويندوز بالاعتماد على الPowerShell في عملنا ..
دعنا من البسيط , اعطنا شرحا معقدا لا نفهمه ههه ؟
حسنا هذا الشرح سيكون طويل بالطبع و معقد للبعض , حسب ما قرأت و ما تعلمت , فان الWindows PowerShell هو نافذة خاصة بالتحكم بنظام الويندوز كاملا بواسطة اكواد , بدأ ظهوره لاول مرة في نظام Windows Vista , و لكنه كان متوفر ايضا في النسخ القديمة , لكن ليس باسم الPowerShell , بل كان تحت اسم Microsoft Command Shell و اعتقد ان الكثيرين يتذكرون اللوجو الخاص به الذي كان عبارة عن احرف MSH ملونة و مبروطة ببعضها . لكن تم تطويره ليصبح Windows PowerShell , و كما قلنا بدأ استخدامه في الويندوز Vista و ما فوق , و يشتغل في كل نسخ الويندوز التي تدعم نسخة ال.NET 2.0 , من ناحية التطوير , قد يعتقد البعض انه تطوير للCommand Prompt او كما هو معروف بالCMD الخاص بالويندوز , او تطوير لل (Visual Basic Script (VBS , لكن في الحقيقة غير ذلك , قد يقتبس من الاثنين شيئا لكنه مخالف تماما لهم , فالCMD مثلا يدعم اكواد الBach ( يمكنك التحقق من ذلك في حالة برمجت احد الكواد و حفظته بصيغة الBAT ) , لكن الPowerShell عاجز عن ذلك , من ناحية الاكواد , فيذكر ان الPowerShell قريب نسبيا من لغات مثل الPerl و الJava , كون ان لغة الPowerShell ( ان صح التعبير ) هي لغة كائنية حية (Programmation Orienté Objet) , اما من ناحية العمل , فهي بسيطة جدا , فكما ذكرت هي مجرد تحويل نظام النقرات و الازرار الى نظام اكواد و لغات كما هو الحال باللنكس .
اذن هل تخبرني انه يمكنني التخلي عن النقرات و الازرار مقابل تعلم الاكواد ؟ ما هذا الهراء ؟
حسنا ان الامر كذلك , لكن هذا قد لا يهمك في حالة لم تكن مطور نظم ( او انظمة ) , فلو كنت طورا للانظمة او فقط مهتما بهذا المجال , فاعتقد ان الPowerShell سيستهويك و يهمك بالطبع ..
دقيقة دقيقة , قلت ان الPowerShell لغة , هل هذا صحيح ؟
حسنا انا ايضا لازلت لم اتأكد بعد , لكن بافتراضها انها لغة ( وهي كذلك حتى الان ) , فان الPowerShell لغة مطورة من طرف الMicrosoft و هي كما قلت سابقا قريبة نوعا ما للPerl و لا علاقة لها بالBash/DOS , لكن , كمقارنة لها مع نظام اللنكس او بالاحرى Unix , فانه يمكننا افتراض ان هذه اللغة مقتبسة او مرتكزة على الUnix , كما ان الPowerShell يشتغل بالاعتماد على مكتبات ال.NET عكس الUnix , و كي نقرب اكثر من هذه اللغة , سنعطي مقارنة بسيطة لاحد الاكواد ..
لنفترض الكود الخاص باظهار الملفات في كل من الTerminal و لغات اخرى ثم الPowerShell :
- في نظام الLinux / Unix : نستخدم كود ls .
- في نظام الBach / DOS : نستخدم كود Dir
- في نظام الPoweShell : يمكننا استخدام الls و gci لكن الاقرب في لغة الPowerShell هو كود Get-ChildItem و يمكن ايضا استخدام كود Dir لكن قد لا يشتغل في بعض نسخ الPowerShell .
اذن هل علي تعلم هذا الPowerShell ؟
في الحقيقة لقد شرحت لك الامر قدر الامكان , ان اردت تعلمه فالامر جيد , و ان لم ترد فذلك قرارك , لكن في نظري , تعلم الPowerShell هو امر خاص بالمهتمين بتطوير الانظمة و صناعتها , لكن كونك مثلا انت مبرمج ويب , فاعتقد انه لا داعي لذلك , فنظام الكليك يفي بالغرض .. لكن لا تنسى انه يجب ان تكون لك اهتمامات و مدارك كبيرة في الويب , و ان اردت ان تطورها , فلا تنسى ادراج الPowerShell ضمنها . بالتوفيق .