السكربتات والأتمتة0%
السكربتات والأتمتة في FortiManager
السكربتات في FortiManager توسّع ما تفعله القوالب: فهي تنفّذ سلاسل أوامر FortiOS CLI أو منطق TCL على دفعة كبيرة من الأجهزة من نقطة واحدة. مع الـ JSON-RPC API يمكن أتمتة FortiManager نفسه، فتُدمج عمليات الإدارة ضمن أنظمة الـ orchestration الخارجية. هذا يحوّل التغييرات الجماعية من عمل يدوي متكرّر إلى تشغيل قابل للتكرار والجدولة.
- 1تعيش السكربتات تحت Device Manager > Scripts، ويمكن كتابتها بصيغة FortiOS CLI المباشرة أو بـ TCL لمنطق شرطي وحلقات.
- 2يحدّد كل سكربت هدف تنفيذ (run target): الـ Device DB، أو الـ policy package، أو جهاز بعيد مباشرة (remote FortiGate directly).
- 3يمكن تشغيل السكربت عند الطلب (on demand) أو جدولته (scheduled) ليعمل تلقائيًا على مجموعة أجهزة في وقت محدّد.
- 4تدعم القوالب الحديثة محرّك Jinja2، فتُكتب السكربتات كقوالب معاملة بمتغيّرات تُملأ لكل جهاز، مما يجمع قوة السكربت ومرونة القالب.
- 5تحذير: سكربت يستهدف الـ Device DB يعدّل النسخة المخزّنة فقط؛ لا يصل التغيير إلى الـ FortiGate حتى تُشغّل Install.
هدف التشغيل: Device DB مقابل Remote device
Device DB
- ◆يعدّل النسخة المخزّنة
- ◆قابل للمراجعة عبر diff
- ◆يحتاج Install للتفعيل
Remote device
- ◆ينفّذ فورًا على الجهاز الحيّ
- ◆بلا مرحلة معاينة
- ◆الأنسب للأوامر التشخيصية
🔎تفاصيل أعمق
- الفرق بين الأهداف جوهري: استهداف Device DB قابل للمراجعة والتراجع عبر revisions قبل الـ Install، بينما استهداف remote device ينفّذ فورًا على الجهاز الحيّ دون شبكة أمان، فاحفظ الأخير لأوامر diagnose و get التشخيصية فقط.
- تُتيح الـ JSON-RPC API أتمتة FortiManager ذاته: إضافة أجهزة، تشغيل install tasks، استرجاع revisions، أو دفع كائنات — كل ذلك من سكربت خارجي يتعامل مع endpoint واحد عبر session token، وهي القناة المعتمدة للتكامل مع أنظمة CI/CD أو ITSM.
- سجّل دائمًا نتيجة التشغيل: كل سكربت يُنتج script execution history مع المخرجات لكل جهاز، استخدمه للتحقق من النجاح/الفشل قبل اعتبار التغيير الجماعي مكتملًا، خصوصًا في عمليات الجدولة الليلية.
⌨️معمل CLI تفاعلي
اختر مهمة، اكتب الأوامر بنفسك وشاهد النتيجة — أو اضغط «نفّذ التالي».
📖 شرح المهمة والأوامر
في الـ GUI: Device Manager > Scripts > حدّد السكربت > Run، ثم اختر الأجهزة والهدف (Device DB أو Remote FortiGate).
execute fmscript run <script_name> <adom> <device_name> <vdom>— تنفيذ أمر تشغيلي# Review what happened:— أمرexecute fmscript list— تنفيذ أمر تشغيليexecute fmscript log <script_name> <device_name>— تنفيذ أمر تشغيلي
FGT-LAB-01 — FortiOS CLI
# المهمة: تشغيل سكربت على جهاز عبر FortiManager CLI
FGT-LAB-01 #
0/4
أوامر تحقّق من التشغيل (اضغط للتشغيل فورًا):
في الـ GUI: Device Manager > Scripts > حدّد السكربت > Run، ثم اختر الأجهزة والهدف (Device DB أو Remote FortiGate).
دورة حياة تغيير جماعي بسكربت
- ١اكتب السكربت (CLI أو TCL)
- ٢شغّله على Device DB لجهاز واحد
- ٣راجِع الـ diff في Install Wizard
- ٤وسّعه على مجموعة الأجهزة
- ٥شغّل Install ثم افحص الـ history
💡 نصيحة مقابلة: 💡 طوّر أي سكربت تغيير جماعي أولًا بهدف Device DB على جهاز واحد، راجِع الـ diff في Install Wizard، ثم وسّعه على المجموعة — تشغيل سكربت خاطئ مباشرة على remote devices لا يمرّ بمرحلة معاينة.