0555333017

اهلا بكم فى الموقع الرسمى للمهندس خالد ابو ابراهيم

 المدير التنفيذي للمضيف الاول للاتصالات وتقنية المعلومات (ون هوست) والخبير في مواقع التواصل الاجتماعي 

ما هو الـ PowerShell

 
 

 

ما هو الـ  PowerShell

 


 كنت اتصفح بعض المواقع التعليمية الخاصة بالبرمجة , الى ان ظهر لي احد المواضيع حول الPowerShell , استمتعت حقا بقراءة ذلك الموضوع , ففكرت في ان ابحث اكثر عن الPowerShell لأعمق افكاري و أوسع مداركي بالطبع , لكن تفاجئت انه لا توجد الكثير من المواقع العربية التي تتحدث عن الPowerShell الا من رحم ربه ????
: بعض القنوات العربية على اليوتيوب و بعض المواقع العربية الاخرى التي لم افقه شيئا فيها حول الPowerShell ولقيت فيديو ممكن قرب لي الموضوع شوي https://www.youtube.com/playlist?list=PLBqdc2sJLjwplytIjxaWywSI5gPJQG8AP قلت خليني اطرح الموضوع هنا كمان لو في احد عنده اضافة ممتاز عشان كلنا نستوعب هذا الموضوع
: قولت خليني الخص الموضوع في عدة اسئلة لاقرب الصورة هل هو شبيه بالTerminal الخاص بالLinux ؟
في الحقيقة هو كذلك و ليس كذلك , ان كنا سنقارنه من ناحية الاكواد فبالتأكيد لا و الف لا مخالف لاكواد اللنكس , لكن ان كنا سنقارنه من ناحية العمل , اذ اننا يمكننا الولوج و التحكم في النظام كامله من خلال الTerminal الموجود في اللنكس , فاننا يمكننا ذلك في الويندوز بالاعتماد على الPowerShell في عملنا ..
: ما هو الWindows PowerShell في ابسط مفاهيمه ؟
حسنا , بكل بساطة شديدة , الWindows PowerShell هو عبارة عن نافذة زرقاء اللون في الويندوز , بسيطة و سلسلة , تحول لك النظام الذي تستعمله يوميا بواسطة النقرات و الازرار (GUI) الى نظام يشتغل بالاكواد و البرمجيات .. فبدل مثلا ان اقوم بعمل Copy / Past لملف ما و اضعه في ملف اخر , يمكنني ان افعل ذلك بالاستعانة بالWindows 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 .
: هذا ما لدي بشكل عام وان كان هناك اضافات اخرى يسعدنا ذلك ????