PowerShell / الأساسي: النسخ والكائنات والأنواع والدوال / الدرس 1
اختيار الإصدار واكتشاف عقود الأوامر
افصل PowerShell7 وWindowsPowerShell5.1 وحل الأوامر والمساعدة ودعم المنصة وأدلة التنفيذ.
في هذه الصفحة
أهداف الدرس
- شرح حدود النسخة متعددة المنصات والنسخة الخاصة بويندوز.
- تمييز cmdlets والدوال والأسماء المستعارة والبرامج الأصلية.
- قراءة عقود المعاملات والمساعدة قبل التنفيذ.
لا يحدد اسم المنتج بيئة تشغيل واحدة
PowerShell7 لغة وبيئة متعددة المنصات مبنية على .NET الحديثة، أما WindowsPowerShell5.1 فمن خط ويندوز و.NETFramework. تختلف الوحدات والواجهات والترميز والأوامر الأصلية والاتصال البعيد. نعتمد عائلة7.6LTS الموثقة ونبين حدود5.1. لا تصبح شيفرة ويندوز محمولة للينكس لمجرد وجود PowerShell؛ سجل النسخة والمنصة والوحدات وقدرات .NET قبل ادعاء التوافق أو تشخيص الغائب. ويجب أن يربط ادعاء التوافق الميزة المطلوبة بالمنصة والمكتبة، لأن وجود اللغة وحده لا يوفر واجهات ويندوز أو وحداتها على نظام آخر.
قد يحل اسم الأمر إلى تنفيذات مختلفة
قد يحل الاسم إلى alias أو دالة أو cmdlet أو ملف أصلي بقواعد الجلسة. تستخدم cmdlets غالباً Verb-Noun ومعاملات منظمة، وللأصلي وسائط وحالاته. قد يخفي الاسم المستعار اعتماداً أو يختلف بمنصة أخرى. فضل الاسم الكامل وافحص التنفيذ ومجموعات المعاملات، ولا تساو اسماً مألوفاً بأمر Bash. كما أن اكتشاف الاسم في جلسة شخصية قد يعتمد على ملف بدء أو وحدة محملة سابقاً؛ لذلك لا تكفي تلك الجلسة لإثبات اعتماد برنامج سيعمل آلياً.
تصف المساعدة القواعد والربط والآثار
تشرح Get-Help والمراجع الأنواع والمجموعات والأمثلة، وتكشف Get-Command البيانات وتفيد Get-Member للكائنات. قد يحتاج تحديث المساعدة شبكة فلا نجعله شرطاً غير متصل. اقرأ الأثر والمزود والاتصال والامتياز. لا يتوفر المحرك محلياً فتبقى أمثلته توضيحية ولم ينفذ اكتشاف أو استيراد أو ملف بدء أو خدمة أو سر. ويجب أن تبين المراجعة ما إذا كان المثال يقرأ معلومات فقط أو يغير حالة أو يتصل بجهة، لا أن تستنتج سلامته من اسم الفعل أو وجود المساعدة.
$items = @('review', 'archive')
$items | ForEach-Object { $_.ToUpperInvariant() }
يفترض نموذج اللغة إخراج REVIEW وARCHIVE، ويبقى غير قابل للتشغيل لغياب المحرك، وهو مصمم دون مورد مضيف.
سياق التنفيذ جزء من الواجهة
يشمل العقد المدخل والنوع والخطأ والأثر والبيئة. تؤثر ملفات البدء والوحدات والموقع والمحلية والتفضيلات؛ فصرح الاستيراد والحالة المقبولة. يساعد التأهيل في التمييز لا التخويل. افصل الهدف والامتياز؛ لا يثبت نجاح المساعدة العملية أو يثبت مثبت البيانات وجود cmdlet بكل منصة. فالتأهيل يحدد أي تنفيذ سيستخدم، بينما يظل السماح باستخدامه على المورد المقصود قراراً مستقلاً يجب أن يظهر في خطة التنفيذ.
الإبلاغ عن الأداة المستخدمة فعلياً
يفحص النموذج جدول توافق أو تحويلاً لا قواعد المحرك أو ربطه. يوجد Python لا pwsh أو powershell؛ فنشغل المصطنع فقط وتبقى أمثلة المنصة والبعيد والامتياز غير قابلة للتشغيل. يحفظ ذلك صدق الدليل ويجعل العقد ملموساً. يحتاج التنفيذ لاحقاً مختبراً خاصاً مصرحاً بالإصدار والوحدات لا الأنظمة المهيأة. وينبغي أن يوضح التقرير أن نجاح النموذج لا يتضمن اكتشاف الأوامر أو ربط المعاملات، حتى لا يتوهم القارئ أن اختباراً على محرك PowerShell قد حدث فعلاً.
editions = {'PowerShell 7.6': 'cross-platform baseline', 'Windows PowerShell 5.1': 'Windows/.NET Framework'}
for name, scope in editions.items():
print(f'{name}: {scope}')
PowerShell 7.6: cross-platform baseline
Windows PowerShell 5.1: Windows/.NET Framework
يطبع القاموس بيانات تعليمية لا فحص تثبيت أو استيراداً أو ضمان توافق.
الأخطاء الشائعة وإصلاحها
اعتبار7 و5.1 متطابقين
- لماذا يحدث؟
- أُهملت النسخة واعتمادات المنصة.
- كيف تصلحه؟
- سجل البيئة والعقود المدعومة.
- كيف تتجنب تكراره؟
- احفظ مصفوفة توافق صريحة.
تحول alias إلى اعتماد غير موثق
- لماذا يحدث؟
- استبدلت الراحة الاختيار الصريح.
- كيف تصلحه؟
- استخدم أسماء واضحة واستيراداً معلناً.
- كيف تتجنب تكراره؟
- اختبر خارج ملفاتك الشخصية.
تسمية نموذج غير متصل اختبار محرك
- لماذا يحدث؟
- بُولغ في نطاق الدليل.
- كيف تصلحه؟
- سم النموذج وما لم يختبر.
- كيف تتجنب تكراره؟
- افصل التقرير المفهومي والتنفيذي.
اختبر فهمك
1. لماذا تغيب وحدة ويندوز عن PowerShell متعدد المنصات؟
اعرض الحل المشروح
لا يوفر المحرك كل API أو اعتماد؛ راجع المنصة و.NET ولا تفترض ظهور قدرة ويندوز بمجرد تثبيت اللغة.
2. ماذا يقول التقرير إذا شغل مثبت Python فقط؟
اعرض الحل المشروح
اذكر المدخل والخرج واترك قواعد PowerShell واكتشافه ووحداته وتوافقه غير مثبتة؛ المحدود الصادق أفيد من ادعاء.
أهم ما تعلمته
- أعلن النسخة والمنصة والاعتماد والأثر.
- استخدم العقود الرسمية وصدق نطاق التحقق.