3.4 · سطر الأوامر / PowerShell

المستوى 3 · إدارة الأنظمة

3.4سطر الأوامر / PowerShell

الهدف: فهم منطق PowerShell (كلمدلت فعل-اسم، خط الأنابيب) ولماذا الأتمتة.
الوقت المقدّر: 12 دقيقة · قراءة ذاتية · إذا كان لديك 5 دقائق فقط: اقرأ «الأساسي في 30 ثانية» + المخطط.

الأساسي في 30 ثانية

  • سطر الأوامر، وخصوصاً PowerShell، يتيح الأتمتة: مهمة متكرّرة تصبح سكربتاً قابلاً للتكرار.
  • تتبع الكلمدلت صيغة فعل-اسم (Get-، Set-، New-…): هذا الانتظام يجعل اللغة متوقّعة.
  • خط الأنابيب (|) يمرّر كائنات مبنيّة من أمر إلى الذي يليه، لا نصّاً خاماً؛ ونختبر بالقراءة (Get-) قبل الفعل.

حالة مصغّرة متسلسلة — سفيان يؤتمت مهمة متكرّرة

سفيان، مسؤول أنظمة في شركة توزيع صغيرة بالجزائر، عليه أن يرصد أسبوعياً أكثر الحواسيب استهلاكاً للذاكرة. فعل ذلك بالفأرة، حاسوباً بحاسوب، يستغرق منه دهراً. يفتح PowerShell ويؤلف سطراً واحداً: Get-Process | Sort-Object WS -Descending | Select-Object -First 5. يقرأ السطر كجملة: سرد العمليات، ترتيبها حسب الذاكرة، الإبقاء على الخمس الأولى. يفهم منطق فعل-اسم للكلمدلت وخط الأنابيب الذي يمرّر كائنات. يسجّل العادة: الاختبار بالقراءة (Get-) قبل الفعل (Set- أو Remove-)، وأتمتة ما هو متكرّر.

حالة مستقلة خاصة بهذا القسم: تعود في الدرس والمخطط والسكربت وتحدّي 48 ساعة في القسم 3.4.

1. لماذا سطر الأوامر

النقر مناسب لفعل ظرفي؛ أما تكرار الفعل نفسه عشرات المرات بالفأرة فيصبح عبثياً. سطر الأوامر، وخصوصاً PowerShell في Windows، يتيح الأتمتة: إنشاء 50 حساباً، تصدير قائمة، تطبيق إعداد في كل مكان — في أسطر قليلة قابلة للتكرار. يحوّل سفيان الأعمال المتكرّرة إلى سكربتات يعيد تشغيلها كما هي.

2. منطق فعل-اسم

يقوم PowerShell على كلمدلت مسمّاة فعل-اسم: Get-Process، Get-Service، New-ADUser، Set-Date. هذا الانتظام يجعل اللغة متوقّعة: إن كان Get- يقرأ وSet- يعدّل، نحدس أوامر لم نرها قط. والمعاملات تحدّد الفعل (-Name، -Path).

3. خط الأنابيب: كائنات، لا نصّ

قوّة PowerShell في خط الأنابيب (|) الذي يمرّر نتيجة أمر إلى الذي يليه — وبخلاف الأصداف القديمة، هي كائنات مبنيّة، لا نصّ خام. هكذا نسلسل القراءة والترتيب والفعل: سرد، ترتيب، الإبقاء على المهمّ فقط، الفعل. يرى سفيان في هذا التركيب القوّة الحقيقية للأداة.

خطأ شائع في الفهم: «سطر الأوامر للخبراء؛ ويمكن إطلاق أمر تدميري مباشرة، دون اختبار؛ ونسخ سكربت موجود على الإنترنت يكفي للأتمتة». لا، خطأ ثلاثي. نبدأ بأوامر بسيطة (Get-…) ومنطق فعل-اسم يُتعلَّم سريعاً. كلمدلت Set- أو Remove- تعدّل النظام فعلاً: نختبر أولاً بالقراءة قبل الفعل. وسكربت منسوخ دون فهمه خطر: نؤتمت ما هو متكرّر ومُتقَن يدوياً. يقرأ سفيان دائماً قبل الضغط على Enter.
تشريح أمر PowerShell كلمدلت فعل-اسم، معاملات، ثم خط أنابيب يمرّر كائنات إلى الأمر التالي. فعل-اسم (كلمدلت)المعاملات -Name -Pathخط الأنابيب () كائنات مُمرَّرةالنتيجة كائنات مبنيّة
كلمدلت فعل-اسم، معاملات، ثم خط أنابيب يمرّر كائنات إلى الأمر التالي.
نص المخطط (SEO / قارئات الشاشة / الترجمة): 1) سفيان، مسؤول أنظمة في شركة توزيع صغيرة بالجزائر، تعِب من تكرار النقرات نفسها: يكتشف أن PowerShell يؤتمت كل مهمة متكرّرة في أسطر قليلة قابلة للتكرار. 2) يحفظ منطق فعل-اسم للكلمدلت (Get- يقرأ، Set- يعدّل) ودور المعاملات، ثم يفهم خط الأنابيب الذي يمرّر كائنات مبنيّة من أمر إلى الذي يليه. 3) لسرد العمليات الضخمة، يؤلف Get-Process | Sort-Object WS -Descending | Select-Object -First 5، ويقرأه سرد → ترتيب → إبقاء. يسجّل العادة: الاختبار بالقراءة (Get-) قبل الفعل (Set-/Remove-) وأتمتة ما هو متكرّر ومُتقَن. الدرس: تأليف كلمدلت بدل النقر، والتحقق دائماً قبل الفعل.

🔎 مثال ملموس — 🔎 مثال ملموس — سرد العمليات الضخمة، بشكل سليم

إيجاد العمليات الخمس الأكثر استهلاكاً للذاكرة، كما يفعل سفيان:

Get-Process | Sort-Object WS -Descending | Select-Object -First 5

# Get-Process   -> يسرد العمليات (كائنات)
# Sort-Object   -> يرتّب حسب الذاكرة (WS)
# Select-Object -> يُبقي الخمس الأولى

القراءة: كل «|» يمرّر كائنات إلى الخطوة التالية؛ ونركّب الجواب.

الدرس: سطر واحد يعوّض نقرة بنقرة طويلة، ويُعاد تشغيله كما هو.

مفردات القسم

PowerShell
صدفة ولغة أتمتة في Windows، موجّهة بالكائنات.

مثال بسيط: يؤتمت سفيان مهمة متكرّرة في سطر واحد.

ما ليس كذلك: مجرّد نافذة تصفّح ملفات.

رد فعل: أتمتة Windows → PowerShell.

كلمدلت
أمر PowerShell بصيغة فعل-اسم (مثل Get-Service).

مثال بسيط: Get-Process كلمدلت تسرد العمليات.

ما ليس كذلك: ملف تنفيذي رسومي.

رد فعل: أمر PowerShell → كلمدلت.

المعامل
خيار يحدّد كلمدلت (مثل -Name، -Path).

مثال بسيط: يضيف سفيان -Descending للترتيب تنازلياً.

ما ليس كذلك: قيمة تُكتب في استمارة.

رد فعل: تحديد فعل → معامل.

خط الأنابيب (|)
آلية تمرّر نتيجة أمر إلى الذي يليه.

مثال بسيط: يسلسل سفيان Get-Process | Sort-Object | Select-Object.

ما ليس كذلك: نسخ-لصق يدوي بين أمرين.

رد فعل: تسلسل كلمدلت → خط الأنابيب.

الأتمتة
استبدال مهمة يدوية متكرّرة بسكربت قابل للتكرار.

مثال بسيط: يعيد سفيان تشغيل السطر نفسه كل أسبوع.

ما ليس كذلك: إعادة النقرات يدوياً في كل مرة.

رد فعل: مهمة متكرّرة → سكربت.

في التطبيق — عملياً — قراءة الأوامر وتأليفها

  1. رصد الفعل والاسم في Get-Service، New-ADUser، Set-Date، كما يفعل سفيان.
  2. خمّن ما سيفعله Get-EventLog أو Stop-Service، انطلاقاً من الفعل.
  3. ركّب ذهنياً: سرد → ترتيب → إبقاء الأول، بخطوط أنابيب.
  4. سجّل مهمة متكرّرة من يومك تستحق الأتمتة.
تقرأ منطق فعل-اسم، وتفهم خط الأنابيب، وترصد ما يستحق سكربتاً.

سكربت خطوة بخطوة — تأليف سطر كما يفعل سفيان (4 دقائق)

1) رصد فعل كلمدلت واسمها (مثل Get-Process). 2) أضف المعاملات المفيدة (مثل -Descending). 3) سلسل بكلمدلت أخرى عبر الأنبوب (|). 4) أنهِ بالفعل المطلوب (مثل Select-Object -First 5). 5) اختبر أولاً بالقراءة (Get-) قبل أي فعل معدِّل.

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

نموذج نسخ-لصق — أول سطر PowerShell لي

Get-Process | Sort-Object WS -Descending | Select-Object -First 5

فعل-اسم    : Get- يقرأ / Set- يعدّل / New- ينشئ / Remove- يحذف
المعاملات  : -Name، -Path، -Descending...
خط الأنابيب : | يمرّر كائنات، لا نصّاً
العادة      : الاختبار بالقراءة (Get-) قبل الفعل

سرد الخدمات

يطلق سفيان Get-Service لرؤية حالة خدمات خادم.

الترتيب حسب الذاكرة

يسلسل سفيان Sort-Object WS -Descending لرصد المستهلكين الكبار.

إنشاء حساب

يحدس سفيان New-ADUser من الفعل New-: صيغة فعل-اسم تجعل اللغة متوقّعة.

الاختبار قبل الفعل

قبل أي Remove-، يسرد سفيان أولاً بـ Get- للتحقق من أنه يستهدف الكائنات الصائبة.

✓ ممارسات جيدة

  • حفظ منطق فعل-اسم لحدس الكلمدلت.
  • اختبار أمر بالقراءة (Get-) قبل الفعل (Set-/Remove-).
  • أتمتة ما هو متكرّر ومُتقَن يدوياً.

✗ أخطاء شائعة

  • إطلاق أمر تدميري دون اختباره بالقراءة.
  • نسخ سكربت موجود على الإنترنت دون فهمه.
  • أتمتة مهمة غير متقَنة يدوياً.

النقاط الأساسية

  • PowerShell للإدارة والأتمتة في Windows.
  • تتبع الكلمدلت صيغة فعل-اسم، تخصّصها المعاملات.
  • خط الأنابيب (|) يسلسل كائنات مبنيّة، لا نصّاً.
  • نختبر بالقراءة (Get-) قبل الفعل، ونؤتمت المتكرّر.

تحدٍّ 48 ساعة — طبّقه غدًا

كما يفعل سفيان، افتح PowerShell وألّف سطراً بخط أنابيب: اسرد كائنات (مثل Get-Process)، رتّبها، ثم أبقِ الأولى فقط. اكتب بعدها، في جملة واحدة، أي مهمة متكرّرة من يومك تستحق سكربتاً — ولماذا نختبر بالقراءة قبل الفعل.

قائمة الخروج من القسم
  • أستطيع شرح منطق فعل-اسم للكلمدلت.
  • أفهم ما يفعله خط الأنابيب (|) بالكائنات.
  • أعرف لماذا نختبر بالقراءة قبل الفعل.
تقييم ذاتي 1-5: هل أحدس كلمدلت من فعلها؟تقييم ذاتي 1-5: هل أتذكّر الاختبار بالقراءة قبل أمر فعل؟

أسئلة شائعة

هل يلزم أن تكون مطوّراً لاستعمال PowerShell؟

لا: نبدأ بأوامر بسيطة (Get-…) لقراءة حالة نظام، ثم نؤلف تدريجياً. منطق فعل-اسم وخط الأنابيب يُتعلَّمان سريعاً؛ والخطر الحقيقي ليس الصعوبة بل الأوامر التدميرية المطلقة دون اختبار.

لماذا نختبر بالقراءة قبل الفعل؟

لأن كلمدلت Remove- أو Set- تعدّل النظام فعلاً. نسرد أولاً (Get-) للتحقق من استهداف الكائنات الصائبة، ثم نفعل — وهذا يتفادى حذف أو تعديل ما لا ينبغي.

تحقّق من فهمك

ماذا يفعل خط الأنابيب «|» في PowerShell؟

موارد إضافية (اختياري، للتعمّق أكثر)

اختبار المستوى 3أسئلة جديدة وأصعب للتحقق من مكتسباتك