المهارات powershell-windows
📦

powershell-windows

آمن ⚙️ الأوامر الخارجية

إتقان أنماط البرمجة النصية لـ PowerShell في Windows

تجنب أخطاء PowerShell الشائعة التي تسبب فشلاً في النصوص البرمجية. تعلم صياغة العوامل الصحيحة، والتعامل مع الأخطاء، والأنماط الخاصة بـ Windows لأتمتة موثوقة.

يدعم: Claude Codex Code(CC)
🥉 74 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "powershell-windows". Check if file exists or directory exists

النتيجة المتوقعة:

Use: if ((Test-Path "file.txt") -or (Test-Path "folder")) - يجب تغليف كل cmdlet بأقواس عند استخدام العوامل المنطقية

استخدام "powershell-windows". Safely get array length

النتيجة المتوقعة:

Use: if ($array -and $array.Count -gt 0) - تحقق دائماً من وجود المصفوفة قبل الوصول إلى الخصائص

استخدام "powershell-windows". Convert nested object to JSON

النتيجة المتوقعة:

Use: $data | ConvertTo-Json -Depth 10 - حدد دائماً معلمة العمق للكائنات المتداخلة لتجنب البتر

التدقيق الأمني

آمن
v1 • 2/24/2026

Static analysis detected 34 patterns but all are false positives. The SKILL.md file is documentation only, containing PowerShell syntax examples and best practices. No executable code or security risks present. The skill is a reference guide for proper PowerShell scripting patterns on Windows.

1
الملفات التي تم فحصها
173
الأسطر التي تم تحليلها
1
النتائج
1
إجمالي عمليات التدقيق
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
85
المحتوى
50
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

برمجة مهندس DevOps

إنشاء نصوص برمجية موثوقة لأتمتة Windows مع التعامل الصحيح مع الأخطاء وأمان null لخطوط أنابيب CI/CD

مرجع لمسؤول النظام

مرجع سريع لقواعد صياغة PowerShell والأخطاء الشائعة عند صيانة النصوص البرمجية القديمة

مورد تعلم للمطورين

تعلم أفضل ممارسات PowerShell وتجنب الأخطاء الشائعة عند إضافة البرمجة النصية لـ Windows إلى أدواتك

جرّب هذه الموجهات

سؤال حول الصياغة الأساسية
ما هي صياغة PowerShell الصحيحة للتحقق مما إذا كان الملف موجوداً OR شرط آخر صحيح؟
نمط التعامل مع الأخطاء
أرني نمط try-catch-finally الصحيح للنصوص البرمجية PowerShell التي تحتاج إلى تنظيف الموارد
فحص أمان Null
كيف أتحقق بأمان مما إذا كانت المصفوفة تحتوي على عناصر قبل الوصول إلى خاصية Count في PowerShell؟
عمليات ملفات JSON
ما هي الطريقة الصحيحة لقراءة وكتابة ملفات JSON في PowerShell مع الكائنات المتداخلة؟

أفضل الممارسات

  • غلف كل cmdlet بأقواس عند استخدام العوامل المنطقية مثل -or و-and
  • تحقق دائماً من null قبل الوصول إلى خصائص الكائن أو أساليبه
  • استخدم Join-Path لبناء مسارات الملفات بدلاً من دمج السلاسل
  • اضبط ErrorActionPreference بشكل مناسب لبيئتك (Stop للتطوير، Continue للإنتاج)
  • حدد معلمة -Depth عند تحويل الكائنات المتداخلة إلى JSON

تجنب

  • استخدام أحرف unicode أو emoji في نصوص PowerShell البرمجية - استخدم علامات ASCII مثل [OK] بدلاً من ذلك
  • الوصول إلى الخصائص بدون فحوصات null - سيسبب أخطاء وقت التشغيل على قيم null
  • استخدام ConvertTo-Json بدون معلمة -Depth - سيتم بتر الكائنات المتداخلة
  • وضع عبارات return داخل كتل try - استخدم finally للتنظيف و return بعد ذلك

الأسئلة المتكررة

لماذا تتطلب العوامل المنطقية في PowerShell أقواساً إضافية؟
يقوم PowerShell بتحليل cmdlets والعوامل بشكل مختلف عن اللغات الأخرى. يجب تغليف كل استدعاء cmdlet بأقواس حتى يتمكن المحلل من تحديد مكان انتهاء كل أمر بشكل صحيح قبل تطبيق العامل المنطقي.
ما هي أكثر طريقة آمنة للتعامل مع مسارات الملفات في PowerShell؟
استخدم Join-Path بدلاً من دمج السلاسل. يتعامل هذا بشكل صحيح مع فواصل المسارات عبر إصدارات Windows المختلفة ويتجنب المشاكل مع الشرطات المائلة الخلفية اللاحقة.
لماذا يجب تجنب أحرف unicode في نصوص PowerShell البرمجية؟
يمكن أن تسبب أحرف Unicode أخطاء في التحليل على الأنظمة ذات الترميزات المختلفة. يضمن استخدام علامات ASCII مثل [OK] أو [WARN] أو [ERROR] التوافق عبر جميع بيئات Windows.
ما الذي يجب استخدامه لـ ErrorActionPreference في الإنتاج؟
استخدم 'Continue' في الإنتاج للسماح للنصوص البرمجية بالتعامل مع الأخطاء بسلاسة. استخدم 'Stop' أثناء التطوير لاكتشاف المشاكل مبكراً. استخدم 'SilentlyContinue' عندما تكون الأخطاء متوقعة ويتم التعامل معها.
كيف أقوم بتحويل الكائنات المتداخلة إلى JSON بشكل صحيح؟
حدد دائماً معلمة -Depth مع ConvertTo-Json. العمق الافتراضي هو 2، مما يبتُر الكائنات المتداخلة. استخدم -Depth 10 أو أعلى للهياكل المتداخلة بعمق.
ما هو النمط الصحيح للوصول الآمن للمصفوفة من null؟
تحقق من المصفوفة وعددها معاً: if ($array -and $array.Count -gt 0). يمنع هذا الأخطاء عندما تكون المصفوفة null أو غير معرّفة قبل الوصول إلى خاصية Count.

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md