السكربتات والأتمتة0%
قوالب التهيئة📋Blueprintbranch-1branch-2branch-3Blueprint واحد يهيّئ عشرات الأجهزة تلقائيًا (Zero-Touch)
السكربتات والأتمتة في 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).

دورة حياة تغيير جماعي بسكربت

  1. ١
    اكتب السكربت (CLI أو TCL)
  2. ٢
    شغّله على Device DB لجهاز واحد
  3. ٣
    راجِع الـ diff في Install Wizard
  4. ٤
    وسّعه على مجموعة الأجهزة
  5. ٥
    شغّل Install ثم افحص الـ history
💡 نصيحة مقابلة: 💡 طوّر أي سكربت تغيير جماعي أولًا بهدف Device DB على جهاز واحد، راجِع الـ diff في Install Wizard، ثم وسّعه على المجموعة — تشغيل سكربت خاطئ مباشرة على remote devices لا يمرّ بمرحلة معاينة.