Transcript for:
دروس في PowerShell وأوامرها الأساسية

السلام عليكم ورحمة الله وبركاته كيف حالكم يا شباب؟ أتمنى أن تكونوا بخير اليوم سنشرح الدرس الثاني من الكتاب الأول الدرس الثاني يجب أن يكون الـ Live Examination لكن الدرس الثاني هنا مؤتم بشكل كبير على PowerShell فلا يمكننا الدخول إلى الدرس غير عندما لدينا خلفية عن PowerShell جيدة في هذا المسار، إذا كان لديك خلفية عن PowerShell سيتكلم عن الـ CityF سنجدها عن طريق الـ PowerShell الموجودة على TryHackMe وهي هذه المنطقة ومن بعد المفترض أن نتكلم عن الدرس حسناً دعونا نفتح الـ PowerShell أو دعونا نفتح الشكل الآخر الذي أحمله PowerShell نعم بل طيب جميل جداً سأزيار الشاشة أتوقع أنكم ترون جميل جداً PowerShell يختلف عن CMD CMD هو شيء و PowerShell هو شيء آخر CMD لا يعمل لدي إذا كنت كتبت command ipconfig ipconfig هذا عبارة عن برنامج موجود لدي في البيئة يقوم بمساعدة البرنامج عن طريق الcommand prompt كذلك نفس الفكرة لpower shell لكن ما الفرق بين هذا والموضوع في الcommand prompt هناك command معينة تعمل موجودة في أي command prompt تختلف عن power shell يعني أنني في power shell لو قمت بعمل ls يعرض لي list of files موجودة في ال directory إذا كتبت الكماند LS ستجد الكماند ليس مفرطاً إذا كتبت الكماند Dire ستجد الكماند مفرطاً وإذا كتبت الكماند Dire ستجد الكماند شرعاً فالكماند برومبوت لا يختلف عن الكماند PowerShell فقط في كماند صغير الكماند تكون موجودة في مكان معين نسيت أن كتبت IP Config هذا عبارة عن برنامج. هذا البرنامج هو مكان. مكانه فين؟ نفتح هنا ونقوم بإدخاله. ونقوم بإدخاله إلى الويندوز.

ونقوم بإدخاله إلى الويندوز. لو كنت هنا ودورت على الـ IP Config. IP.

تسألوا. IP Config. هي موجودة هنا. ال IP Config اهو لو ضغطت عليه مفروض ان انت هتلاحظ انه ايه بيعرض الحاجات بس ايه جزء من الثانية وترجع تقفل تاني برضو برضو كذلك امر ال Net State هتلاقي برضو هنا نفس الفكرة في أمر net في أمر net sh كل هذه تلاتة أقدر أن أقوم بإنشاءها عن طريق power shell عندما أكتبها مثلا كنت أكتب net يجب أن يكون يرد لك ال syntax من الكمينز لو قمت بعمل أمر net1 أو net sh أو net state هنا أعرض لي في net state ال active connection لو أنا جيت هنا كتبت في power shell net state هيشغل لي البرنامج بكل بساطة ويقول لي ال local address و foreign address أي أن يكون فهمة في الأول في الآخر برامج برامج دي بعمل لها execute عن طريق power shell خلينا نوقف كده طبعا طول ما هيشغالة بقى بيقولك ايه الconnection اللي تمت اذا كانت الconnection عن طريق HTTPS بتديك مثلا IP لو دخل جوه سيستم معين او غيره تمام؟ لو انت عندك طبعا او جاي من خلفية نتورك هتبقى عارف ان ده loopback بتاعك المفروض وده الport number انا ايضا احنا مش هندخل في التفاصيل دي النقطة اللي انا عايز اوضحها لك من هنا ان الpower shell بيعمل execute لبرامج هي متحددة تمام طيب الحاجات دي متحددة فين بالنسبة لي، لو دخلت على الـ Environmental Edit Environmental دخلت على الـ Environmental Valuables دخلت هنا على الـ Edit كما ترون ليس هنا تحديداً، أنا أحدد فقط الـ Path و أقوم بالـ Edit أحدد الـ Path و أقوم بالـ Edit هنا، هذا هو المكان الذي يقوم بالإنشاء منه الـ Command قلت له، خذ داخل System Root و خذ داخل System 32 لكي يستطيع المستخدمين الخروج من البرنامج في الـ 32 يجب أن يقوم بإدخال البرنامج الموجود في هذا الفولدر مثلاً، إذا كنت تجد في الـ.NET حاجة تسمى Assist Internal Tool وليكن، أنا أحدد له أنه يجب أن يعمل أي برنامج في هذا الفولدر عن طريق الـ CMD ما هي الـ Tools الموجودة في Assist Internal Tool؟ أهي، زي هناك طريقة لتحقيق المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من المزيد من الم ومسحتها سوف أريك ما هو المفتاح نفس المفتاح الذي كتبناه من قبل نفتحه وقمت بإغلاقه لا يعمل القماند لماذا؟ لأنني لم أقوم بتحديده قم بالدخول إلى المنطقة أي هذا المنطقة اخذ منه ما الذي تأخذ منه؟ هذا هو المكان الذي يوجد فيه هذه المنطقة سأقوم بتحديد المكان الذي سيستطيع من خلاله تشغيل المنطقة الموجودة هل هذا مفرد داخلي؟ ونعرف عنها في الدرس هذه المهام التي تشترى عن طريق PowerShell تساعدني في تحقيق عملية مؤكدة نترك كل شيء للوقت دعونا نكمل شرح PowerShell دعونا نقوم بعمل أمر صفح هذا الأمر صفح بالنسبة لي يمسح الساشة إذا أردت أن أكبر الخط لأن الخط صغير أضغط على Control وضعه على كما ترى تكبر معي كما ترى كبرت الخط هذا عن طريق الماوس الجزء الذي ينزل من الخط حلو جدا حتى الآن الكلام واضح لا يوجد مشكلة بالنسبة لي نبدأ بالمشاركة أول مفرد أريد أن أعرفه تحديد الوكيشن يحدد انواع الوكيشن انواع الوكيشن فولدر يسمى user فولدر يسمى محمد عمر لو قمت بعمل LS ستظهر لدي الوكيشن تعالي ندخل الى الديسكتوب اختار الوكيشن في محمد عمر ندخل في الـ C في الـ Users في محمد عمر ستلاحظ أن هذه الملفات التي أراها هنا حتى تكون أكثر واضحة دعونا نقوم View Large 3D Ansel Cisco Contact Desktop Document Downloads دخلنا لفولدر الديسكتوب لتعلم الكمونتز تمام هذه الديسكتوب قدامي وهذه بالنسبة لي هذا هو الـ Command Line نضغط على Clear نضغط على الشاشة ونكتب الـ Command الآن سأدخل الى الـ Desktop عندما أدخل الى الـ Desktop عندما أضغط على الـ S ما الذي يفعله الـ S معي؟ يجلب لي List of Folders الموجودة هنا ها هي هذه هي الـ Folders التي تحتوي على مشكلة سوف أضع فولدر و Microsoft New Microsoft PPT Process Hacker Telegram و Torrent لم يضع كل شيء فقط بعض البرامج الموجودة هنا وهي U-Torrent كما نرى Telegram موجود هنا لم يضع كل شيء حسنا فهذا هو أمر LS و أمر الـ CD CD بيعمل ايه؟ بيخش جوه الفولدر انا عندي جوه فولدر تاني اهو هخش جوه فهقوم اعمل CD فولدر طب انا مش عايز اكمل الكلمة كتبت اول 3 حرف من كلمة انا عايز اذا اردت ان اكمل الجزوة اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اضغط على Tab وانا اض هذا هو الفولدر الموجود الذي دخلته أعرضتها عن طريق command ls واحدة معي لو أعطيت ls أو أعطيت رجعت خلف أعطيت رجعت خلف فرجعت المكان الأساسي الذي أقف فيه أريد أن أدخل تحقيق التفاعل ترافيك بارت ون عايز ادخل عليه مرة واحدة تمام هعمل ايه?

اكتب فولدر وهقوم كاتب انتروجين ديتكشن بارت ون وهقوم ده ده يبقى انا كده عملت ايه? كتبت الفولدر وقمت اتاخد اول تلات حروف بس بعد كده ضغط انتر فدخل لي جوة الفولدر ده. طب انا عايز ارجع مرتين فهعمل سي دي نقطة سلاش نقطة نقطة سلاش. يبقى انا كانت بجهة مرتين فرجعت لمكان اللي انا واقف فيه. حاليا تمام كده حلو قوي.

هنا ننضف الشاشة ونوضح الكلام مرة تانية. انا دلوقتي جوال عملت اهو وقمت اضغط تاب وقمت اضغط تاب تاني فجاب لي حاجة تانية اضغط تاب تالت جاب لي حاجة ثالثة ضغط حاجة اه تاب مرة ثالثة جاب لي لو جيت دخلت هنا وعملت هيجيب لي الفولدرز اللي موجودة. تمام كده?

حلو. إذا تعرفت على كومنت LS و كومنت CD أريد أن أحصل على مدى المساعدة لـ LS أو CD ما هذا المساعدة؟ LS تفتح الفولدرات إذا أردت أن أفتح فولدر داخل فولدر داخل فولدر أو أريد أن أحدد فولدر معين أريد أن أفتح اللينس مع النين و لا أريد أن أفتح الأشياء الآخرى هذه الأشياء سأقوم بها بالوقت ستركز معي دلوقتي دعنا نقوم بعمل أمر جيد نقوم بعمل get help لأمر LS عندما قمت بعمل get help وجدت أن هذا الكماند هو get child item get child item هذا هو الكماند الأساسي هذا الكماند يمكنني كتابه على طول على فكرة ويعمل كأنه أمر LS عادي جدا مثل LS تمام هنا لدي الالياسس الالياسس هو الإختصارات للكلمة لذلك أكتب الكلمة من نسبة طول قوي يمكنني إكتب GCI أو LS أو Diarr الـ Diarr هو الـ Command Prompt الـ LS هو الـ Bash و الـ GCI هو الـ PowerShell و هو جاء لك الاختصارات كلها في PowerShell لكي يسهل عليك الأمور لو أنت جاء من خلفية تمام كده؟ تمام كده. طيب.

انا دلوقتي واقف فين؟ جوهر الديسكتوب. صحيح كده؟ حلو جدا. خلينا كده نعمل تاني ونعمل. هنتلاقي هنا في حاجة لو انت ركزت شوية كده. اسمها هنا مثلا في ناخدها واحدة واحدة.

خلينا ناخد الحاجات المهمة بالنسبة لي. في حاجة هنا اسمها. تمام؟ طيب. دعونا نرى ماذا تفعل هذا إذا قمت بعمل هذا وضغط إنتر هذا الـ Recurse تفتح فولدر الديسكتوب فولدر هذا يوجد فيه فولدر اسمه فولدر وفيه اسمه فولدر وفيه فتحة الفولدر فتحة الفولدر في الديسكتوب وفيه فولدر فتحت الفولدر الجوهر الفولدر الذي هو وفي هذا الفولدر يوجد فولدر آخر فتحته آخر ثم فتحت الفولدر الآخر بالنسبة لي هذا هو الأول فهي مجرد تفتح كل الفولدر تحت بعضها وبعد ذلك تفتح هذا الفولدر و هذا إذا كانت في الدرات تفتحه و هذا إذا كانت في الدرات تفتحه و هكذا حتى يجلب لك كل المفردات الموجودة هنا يبقى هذا الأمر الذي هو الري كيرز هذا ما عرفته من جيت هيلب هناك شيء أخر اسمه dash name أنا لن أضعه في كله لكنني أريد الأشياء الأساسية dash name dash ويجب علي الـ name فقط هل تعرف ما معنى هذا؟ هو سيجلب لي الـ name فقط واخذ بذلك، أنا عندما أقوم بعمل ls فقط يجلب لي الـ lens يجلب لي الـ name يجلب لي الـ last right time يجلب لي الـ mood طبعاً أنا أريد أن يعمل name فقط لا أريد غيرها فأقوم بعمل dash name حتى الآن الكلام بسيط لا يوجد أي شيء بعد ذلك، يوجد شيء يسمى dash attribute وهذا الذي أقدر أحدد من خلاله أو تفتح أرقامك أو تفتح الأشياء المستخدمة أو التنمية أو تفتح الأشياء المستخدمة سيفتح أي نوع من الموافقات دعنا ننظر إلىها واحداً واحداً دعنا نضغط على الـ Attributes و نضغط على الـ Directly هذا هو معناه ما قلت له إعرض لي أي ديركتوري موجود واخذ بالك أنا اللي العادية كانت بتعمل إيه؟ تعرض لي كل الموجود أنا هنا قلت له إيه؟ اعرض لي فقط تمام؟ طيب بلاش الديركتوري اعرض لي اعرض لي أنا عندي الديركتوري وعندي إيه تاني؟ بين الـ عندي حاجة اسمها الـ hidden يجلب الفايلات الموجودة في المكان الذي أقف فيه ويقوم بإعراضها هل هناك أتربوت آخر؟ نعم هل هناك أتربوت مثل system؟ هل هناك أتربوت مثل archive؟ إذا كان هناك ملف archive إذا كان هناك ملف compressed أنا لست أملك ملفات مضغوطة في المكان الذي أقف فيه حسناً، دعنا نقوم بعمل ملف مضغوط اهو اه هات الفايل ده. بغطوه هنا مسلا كده.

تمام? اهو اضغط مجرد على فكرة انا انا فاتح دلوقتي اهو لما جيت عملت اهو. المفروض ان هو جاب لي الملف ده صحي كده. خلينا نجرب الاركايف. يجب أن يرد الملفات التي تعملها الاركايف فقط لقد قمت بإضافة ملف مضغوط الكلام بسيط لا يوجد أي شيء خالص هذا بالنسبة للأتربوت ويوجد الـ Dash Name و هنا إذا قلت له سأعدل على فكرة الفايل كـ Directries على طول من أول مرة بعد أن أعطيه Attribute يعني أنني أعطيته Attribute و قلت له شغلي الملف As a Directory طب أنا ممكن أقول له اعطي لي الـ Directory على طول و ممكن أقول له Dash File فهيجيب لي الفايلات بس اللي موجودة داش فايل سيعرض الفايلات الموجودة فقط كن حذراً لأنني قمت بعمل LS سيعرض الفلدر و الفايلات الموجودة ولكن عندما قمت بعمل LS فايل فاعرضت الحاجات التي تحتوي على فايل حتى الآن لم أتعمق في أمر LS حسناً دعونا نقوم بعمل نضغط على نوع نانو نوع نانو يجب أن نضغط على نوع نانو في الـPash Scripting يوجد مفرد في الـPash في الـPowerShell و في مفرد لا يوجد أيضاً نوع نانو يجب أن نضغط على نوع نانو لا يوجد موجود في البرنامج إذا أخذت من خلال التطبيق لا يوجد موجود في البرنامج ليس كل الموجود في البرنامج في البرنامج في PowerShell يمكنك أن تجد الـ LS الـ PWD هذه نفس الموجودة في البرنامج الـ CD نفس الفكرة إذا أخذت الـ CD ستجد تغيير البرنامج ويوجد مختلفات على PowerShell ليس كل الموجود في البرنامج موجودة هنا.

تمام؟ طيب. احنا عايزين نعمل كريت اه ونقود عليه ونغير فيه. تمام؟ فانا عشان اشتغل المخور ده من هنا.

انا ممكن اقوم اقوم ايه? افتح وقوم ايه? اه فتحها كده.

ادي فايل اهو. هقوم كاتب هنا مثلا 1 2 3 4 5 6 7 8 9 ودخل اي حاجة هنا واي حاجة هنا انا بس هوريك حاجة معينة تمام كده انا فتحت النوت باد ودخلت علي دايتر وقمت عامل كنترول اس وقمت افلا كنترول اس فين نضغط جوهر ديسكتوب تاني هنسمي الفايل وليكن file.txt تمام؟ طيب كده أنا خزنت الفايل فتحت نوت باد وعملته المفروض إنه فيه file.txt هنا أنا عايز أفتح الفولر ده أفتحه أجيب الحاجات اللي دويا أنا قلت لك أنت فيه بعض المشاريع الموجودة هنا صح؟ يعني ممكن أكتب هنا file.txt ك-cat ونفس المشاريع ده موجودة في الباش scripting تمام؟ لو أنت بتتعامل معه بحنطو يعني فهتلاقي أيضاً، سوف أعرض لك كل الأمور هنا هل هناك شيء غير المترجم؟ نعم، هناك يمكنني أن أكتب و أقوم بكتابة و يفتح معي هل هناك شيء آخر غير الأمور؟ نعم، يمكنني أن أكتب و أقوم بمدخل و يفتح معي يبقى أنني أملك أكثر من شيء طبعاً، كيف أعرف كل هذه؟ سوف أعرفهم من أين الـ get health.bl.getcontent سيقول لي أنك لديك تصوير زيادة جي سي كل هذا لكي يعرض لي هذا الجزء فرضا أن الفايل الذي أريد أن أفتحه لا أريد أن أعرضه إلا أول 3 أسطور فأقول له الهيد أعطيه الرأس أول 3 سطر منها أريد أن أجلب من تحت أو أخر 3 أسطور تحت أقول له أعطيك تيل جيد جدا إذا أخذت أخر 3 من تحت جيد كذا كلام جميل لحد دلوقتي ماشي فيه طبعا هنا حاجات تانية كتير من داخل هيد والتيل او ممكن اقول له هات لي Total Counts او يحضر له ال log او يقول له Read Count او يقول له حاجة معينة وحكا كذا تمام كل حاجة من دول بتفرق معايا انا مش هتغاض في كل دول لان الكورس سيقلب يبقى كبير جدا ويبقى تخصص PowerShell اكتر فانا عايز اديك الاسئات بس تمام طيب هل تعرفنا كيف نتنقل بين الملفات؟ هل تعرفنا كيف نقوم بإغلاق ملف؟ هل تعرفنا كيف نغير ملفاً؟ هل تعرفنا كيف نحصل على ملفاً؟ الكلام بسيط، لا يوجد أي حاجة هناك أشياء أساسية يجب أن نعرفها ما هي؟ إذا قمت بعمل الـ env وقمت بعمل. هذا يعني إيمان هنا يقوم بإعراض الموجودة خذ ببالك أن في أي لغة برمجة يوجد موجودات في الموجودات يوجد أشياء سابقة أقدر أن أستدعيها في أي وقت وأستعملها في أشياء كثيرة دعونا ننظر هنا هذا هو الموجودة اسمه AppData يحتوي على value.

ما هي قيمتها؟ الجزء هذا. وهو path. يجب أن يكون الـ variable يحتوي على path الموجود.

إذا أردت أن أفتح هذا كـ variable. كيف سأفتحه؟ أستطيع أن أقوم بعمل nv, env و أقوم بعمل وأقوم بإعادة الـ app data. بص كده خلينا نعمل ايكو في حاجة ولط ولا ايه سانية واحدة ما قداش. مفروض ان هي تبقى من هنا اه ده في حاجة على رد سانية واحدة نعم هي كده ولا سانية حدا في حاجة انا نسيها اعتقد.

إذا أردت أن أعرض أحدث الأب داتا أو أعرض أحدثها فأقوم بعمل ويظهر أن هذا هو أحدث وأقوم بإعطاءه env وهذا يجعل قيمة الأب داتا هذه هي قيمتي المحتوى يمكنني استخدام CD و مكاتب دولار وقوم بعمل وقوم بعمل عندما تضغط يكمل الكلمة واضغط فبالنسبة لي بدل عندما اكتب كل ده مرة واحدة لا ده استعنت واحدة من الـ System Variables الموجودة هنا كذلك يمكنك الاعتماد على الكثير من الأشياء على الفكرة، يمكنني إختيار الـ Number of Process الذي يكون 80 الـ OneDrive لكي نقلها في مكانها بدلاً من إكتبها بكامل أكتب هذا فقط أقدر أن أقوم بإكتباء الـ Program Data كذلك يمكنني إكتبها مرة واحدة لكي أدخل إلى مكان الـ Files هنا المكان الـ Public بالنسبة لي نفس الفكرة هذه هي معظم المستخدمات التي نستخدمها هنا في الكتاب موضح لك أشهر الحياة التي تستخدمها مثل الـ Pass و الـ Tempo و الـ user profile لكي أستطيع معرفة الـ user و الـ system root جميل جدا و على فكرة الـ Variables دي سبب على اي ويندوز. يعني انا لو دخلت على اي نظام ويندوز هلاقي في دي سابتة. لو انا جيت قلت له مسلا اي نظام عندك جيت قلت له اطبع ايه?

هيتبع لي ايه? هيتبع لي تمام? هم قال له اه وهم عامل كده وهم قال له ايه? اه تمام?

اه. فهيطبع هاري امر ايكو هنا معناه اطبع يعني انا ممكن ادخل الفريابل عادي ويطبع لي القيمة بتاعته عادي جدا او ممكن اكتب مكانه ايكو ومش هيفرق معايا سواء اذا عملت الايكو او ما عملتهاش حلو كده؟ حلو لحد لان الكلام بسيط مفهوش فيه اي حاجة خالص قب بالك ان دي بتفرق معايا من الpower shell للcommand line ان انا راجعت فتحت الcommand prompt عشان وإذا أردت أن أضبع شيئاً مثل system.root فأنا أضبعها بشكل مختلف أنا أضبعها كيف؟ بكتب system.root وهو عامل علامة الـ persons وهو عامل علامة الـ echo فهو سيضبع القيمة تمام كده؟ الـ cmd كما قلت لك يختلف قليلاً عن الـ partial نحن تعاملنا مع الـ partial فأنا لن أشرح الـ cmd لكنك ستلجأ وتفهم من هذا الجزء فالفرقات خفيفة وليست كبيرة ندخل الى الvariables اذا كنت من خلفية برمجية فأنا اعرف هذا انا اعتبر الvariable برقم اذا كان 15 فهذا انتجر اذا كنت اريد ان اعبره ثانيا فاعمل X فهذا الvariable يدخل جنب علامة دولار ساين ان انا مثلا اعمل اكس وهم دخلوا path لمكان معين مثلا زي ما احنا كنا عملنا من شوية وقالوا والله انا عايز اروح جوه ال users ماشي وهم ايلو عايز اروح جوه محمد عمر وهم ايلو عايز ادخل جوه ال desktop او يبقى انا كده حطيت ده في variable تمام يبقى ده ققيمة هو ققيمة string انا قمت بوضع الفريابل في قيمة string اذا قمت بعمل enter و اريد الوصول الى هذا المكان اخذ الى variables اقدر ان اعمل cd و هو مدخل الفريابل نفسه و سيصل الى المكان الذي يوجد في الديسك انا فقط اريد ان اعرف الفريابل انا لا اريد ان ادخل لك فكرة البروجرامينج او الاف كونديشن او الفورلوب هذه الكرسيات لا نريدها او لا نتركها في الكرسي كل ما احتاجه منك ان تعرف بعض الكماند البسيطة عن PowerShell وسنستعمل الكماند بشكل اكبر لما نفتح CTF الموجود لتابعة TryHackMe سندرس حاجات بشكل اكبر وسنفهم حاجات اكثر بالنسبة للروم كذا كفاية النهاردة بالنسبة للبازيكس PowerShell خلينا مرة جاية لما نيجي نشرح نشرح كل حاجة بالتفصيل بشكل اضبط عشان المعلومات واتبعش كتير عليك