الاختبار النهائي الجزء 2
تاريخ النشر : 2025-07-09 13h00
تاريخ التسليم : 2025-07-09 15h00
طريقة التسليم : Omnivox
الطريقة : اختبار فردي
المواد المسموح بها : ملاحظات الدروس، أعمالك العملية والتمارين، الوثائق عبر الإنترنت، ولكن لا مساعدة خارجية (لا تواصل مع أشخاص آخرين)
استخدام الذكاء الاصطناعي : وفقًا لسياسة الكلية. يمكنك استخدام الذكاء الاصطناعي للبحث، ولكن يجب أن يكون الكود مكتوبًا بالكامل بنفسك.
سكربت لإدارة سجلات النظام بشكل آلي
السياق
أنت مسؤول نظام في شركة. يطلب منك مديرك إنشاء سكربت PowerShell لأتمتة إدارة ملفات السجلات. يجب أن يتيح هذا السكربت تنظيف وتنظيم وتحليل السجلات بانتظام.
أهداف العمل (100 نقطة)
يجب أن يقوم سكربت PowerShell الخاص بك تلقائيًا بالإجراءات التالية:
1. إنشاء بيئة العمل (25 نقطة)
يجب أن يستخدم السكربت متغير البيئة ENTERPRISE_DATA (المعرف مسبقًا بمسار صالح، مثل C:\EnterpriseLogs) لإنشاء هيكل المجلدات التالي تلقائيًا في $env:ENTERPRISE_DATA\AdminLogs :
$env:ENTERPRISE_DATA\AdminLogs
│
├── Logs_Actuels
│ ├── Systeme
│ ├── Applications
│ └── Securite
├── Archives
│ └── Anciens
└── Rapports
قد تكون المجلدات موجودة بالفعل. يجب أن يتحقق السكربت من وجودها وألا يسبب أخطاء إذا كانت المجلدات موجودة بالفعل.
ثم يجب أن يقوم السكربت أيضًا بإنشاء 5 ملفات سجلات وهمية في مجلد Logs_Actuels\Systeme :
system_2025-07-01.log(المحتوى : "INFO: بدء النظام بنجاح")system_2025-07-05.log(المحتوى : "ERROR: خطأ في القرص الصلب")system_2025-07-08.log(المحتوى : "WARNING: ذاكرة منخفضة")system_2025-07-09.log(المحتوى : "INFO: النظام محدث")old_system_2024-12-15.log(المحتوى : "INFO: سجل قديم")
2. تحليل والبحث في السجلات (25 نقطة)
يجب أن يقوم السكربت بـ:
- البحث عن جميع الملفات
.logفي الهيكل$env:ENTERPRISE_DATA\AdminLogs\Logs_Actuels - إنشاء قائمة بالملفات التي تحتوي على الكلمة "ERROR" وحفظها في
$env:ENTERPRISE_DATA\AdminLogs\Rapports\erreurs_trouvees.txt
3. الأرشفة التلقائية (25 نقطة)
يجب أن يقوم السكربت بـ:
- تحديد جميع ملفات السجلات التي مضى عليها أكثر من 7 أيام (استخدم التاريخ في اسم الملف)
- نقل هذه الملفات القديمة إلى مجلد
Archives\Anciensوإعادة تسميتها بإضافة البادئةARCHIVE_- مثال :
old_system_2024-12-15.log→ARCHIVE_old_system_2024-12-15.log
- مثال :
انتبه، قد تكون هناك ملفات موجودة بالفعل في مجلد
Archives\Anciens. يجب ألا يضيف السكربت ARCHIVE_ إلى الملفات المؤرشفة بالفعل.
(لذلك لا ينبغي أن يكون هناك ملف باسم ARCHIVE_ARCHIVE_old_system_2024-12-15.log)
يمكن للسكربت الكتابة فوق ملف موجود إذا كان الاسم متطابقًا.
4. التقرير النهائي والتحقق (25 نقطة)
يجب أن يقوم السكربت بإنشاء تقرير نهائي (rapport_gestion_logs.txt) في
مجلد $env:ENTERPRISE_DATA\AdminLogs\Rapports يحتوي على:
- تاريخ ووقت تنفيذ السكربت
- عدد الملفات المؤرشفة
- عدد الملفات التي تحتوي على أخطاء
- رسالة تأكيد : "تم تنفيذ السكربت بنجاح"
المتطلبات التقنية
-
هيكل السكربت : يجب أن يكون السكربت منظمًا جيدًا مع تعليقات تشرح كل قسم مهم.
-
الخاصية التكرارية : يجب أن يكون السكربت قادرًا على التنفيذ عدة مرات دون التسبب في أخطاء.
أوامر PowerShell المفيدة
New-Item: إنشاء ملفات ومجلداتSet-Content/Add-Content: الكتابة في الملفاتGet-ChildItem: سرد الملفات والمجلداتSelect-String: البحث عن نص في الملفاتCopy-Item: نسخ الملفاتMove-Item: نقل الملفاتRename-Item: إعادة تسمية الملفاتTest-Path: التحقق من وجود ملف/مجلدGet-Date: الحصول على التاريخ الحالي
التسليم
يجب عليك تسليم سكربت PowerShell الخاص بك على Omnivox باسم
gestion_logs.ps1.
حظًا موفقًا!