المقدمة

يصف هذا وثيقة طريقة أن يخلق فريد و وحيد IM نص تنفيذي قادر على تنفيذ أي تسلسل من الأوامر كما هو معرف بواسطة مدير الشبكة.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- معرفة عمليات Cisco IOS® XE

- فهم البرامج النصية المضمنة الخاصة بمدير الحدث

- التشابه مع محولات Cisco Catalyst Switches

- معرفة أساسية بالبرمجة النصية عبر TCL

المكونات المستخدمة

أسست المعلومة في هذا وثيقة على cisco مادة حفازة 9600X sery مفتاح (CS-C9600X) يركض ios XE 17.18.2 إطلاق.

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

معلومات أساسية

ينشئ المسئول ملف نص عادي يحتوي على تسلسل الأوامر المرغوب. بعد ذلك يدعو برنامج IM النصي هذا الملف على مشغل محدد وينفذ كل الأوامر المدرجة في الملف النصي.

التكوين والإجراءات بالتفصيل

الخطوة 1. إنشاء ملف نصي بتسلسل الأوامر

1. قم بإنشاء ملف نص يحتوي على الأوامر المطلوبة في التسلسل المرغوب.

2. انسخ الملف إلى ذاكرة Flash (الذاكرة المؤقتة) الخاصة بالجهاز.

3. أستخدم البرمجة النصية ل FTP أو TFTP أو TCL لإنشاء الملف أو نقله.

إنشاء ملف نصي باستخدام البرمجة النصية من TCL

الصيغة:

tclsh

puts [open "flash:COMMANDS_TO_EXECUTE.txt" w+] {

Enter Commands to Execute

}

exit

مثال التكوين:

in order to خلقت تسلسل من أمر أن يعطل قارن 5GigE1/1/0/3:

C9600-Silicon1-SVL#tclsh

C9600-Silicon1-SVL(tcl)#puts [open "flash:COMMANDS_TO_EXECUTE.txt" w+] {

configure terminal

interface fiftyGigE 1/1/0/3

shutdown

end

show run interface fiftyGigE 1/1/0/3

}

C9600-Silicon1-SVL(tcl)#exit

C9600-Silicon1-SVL#

دققت المبرد في برق:

C9600-Silicon1-SVL#dir flash:

Directory of flash:/

357117 -rw- 101 Jan 25 2026 21:37:09 +05:30 COMMANDS_TO_EXECUTE.txt

محتويات COMMANDS_TO_EXECUTE.txt

configure terminal

interface fiftyGigE 1/1/0/3

shutdown

end

show run interface fiftyGigE 1/1/0/3

يمكن إنشاء هذا الملف إما بواسطة البرمجة النصية من TCL أو نقله باستخدام FTP أو TFTP أو RCP. يجب تحرير الملف حسب الحاجة لتضمين أي تسلسل للأوامر المطلوبة من قبل مسؤول الشبكة.

الخطوة 2. قم بتنفيذ الملف باستخدام برنامج IM Script

إنشاء نص IM

يقوم تطبيق EEM هذا بتنفيذ جميع الأوامر من الملف المحدد COMMANDS_TO_EXECUTE.

event manager applet Cisco_Live authorization bypass

event none maxrun 1000

action 010 cli command "enable"

action 020 cli command "term exec prompt timestamp"

action 030 cli command "term exec prompt expand"

action 040 file open fileout1 flash:OUTPUT.txt a+

action 050 file open filein1 flash:COMMANDS_TO_EXECUTE.txt r

action 060 file read filein1 input

action 070 foreach line $input "\n"

action 080 cli command "$line"

action 090 file write fileout1 "$_cli_result"

action 100 end

action 110 file close fileout1

action 120 file close filein1

شرح نص IM

++ تجاوز Cisco_Live Authorization لإدارة الأحداث:

اسم البرنامج الصغير لإدارة الأحداث: تسجيل برنامج EEM باستخدام الاسم المحدد ("Cisco_Live" في هذه الحالة).

تجاوز التخويل: يجب أن تتجاوز الكلمات الأساسية الاختيارية التي تحدد التطبيق الصغير تفويض AAA.

++ حدث لا شيء لحد 1000:

الحدث بلا: وهذا يحدد أن سياسة IM مسجلة مع "مكتشف أحداث لا شيء"، مما يعني أن السياسة لا يتم تشغيلها بواسطة أي حدث تلقائي ولكن تم إعدادها ليتم تشغيلها يدويا.

تقنية Maxrun 1000: تقوم هذه المعلمة الاختيارية بتعيين الحد الأقصى لوقت التشغيل للتطبيق الصغير أو النهج إلى 1000 ثانية. في حالة عدم التحديد، يكون الحد الأقصى الافتراضي لوقت التشغيل هو 20 ثانية.

++ الإجراء 020 CLI مصطلح مطالبة EXEC الطابع الزمني:

الإجراء 020: هذا هو معرف التسمية أو التسلسل للإجراء ضمن برنامج IM النصي.

يعد Term EXEC prompt timestamp أمر CLI يمكن الطوابع الزمنية على موجه الأمر في جلسة عمل المحطة الطرفية الحالية.

تساعد هذه الميزة في أستكشاف الأخطاء وإصلاحها ومراجعتها من خلال توفير مرجع زمني لكل أمر يتم تنفيذه.

يظهر الطابع الزمني قبل مخرجات الأوامر، مما يسهل ربط الأحداث وأوامر التنفيذ بأوقات معينة.

+ توسيع مطالبة EXEC الخاصة بمصطلح أمر CLI الإجراء 030:

يمكن توسيع مطالبة EXEC للعبارة وضع المطالبة الموسع لجلسة العمل الطرفية الحالية.

كما يقوم بتكوين المحطة الطرفية لعرض المطالبة الكاملة دون اقتطاع أو إختصار.

فهو يساعد في البرامج النصية أو سيناريوهات أستكشاف المشكلات وحلها حيث يلزم توفر سياق المطالبة الكامل من أجل الوضوح أو التحليل.

يؤثر الأمر على جلسة عمل المحطة الطرفية الحالية ولا يستمر بعد انتهاء الجلسة.

++ ملف الإجراء 040 فتح الملف flash:OUTPUT.txt a+:

فتح الملف: هذا يحدد العملية لفتح ملف.

الملفات 1: هذا هو واصف الملف أو اسم المؤشر المستخدم داخل البرنامج النصي للإشارة إلى الملف المفتوح.

flash:output.txt: هذا هو المسار واسم الملف في نظام ملف Flash حيث يتواجد الملف أو سيتم إنشائه.

أ+: هذا هو وضع الوصول إلى الملف، مما يعني أنه تم فتح الملف للقراءة والتذييل. إذا لم يكن الملف موجودا، فسيتم إنشاؤه. سيتم إلحاق البيانات المكتوبة إلى الملف إلى النهاية بدون اقتطاع المحتوى الموجود.

++ الإجراء 050 ملف فتح الملف 1 flash:COMMANDS_TO_EXECUTE.txt r:

فيلين 1: هذا هو واصف الملف أو اسم المؤشر المستخدم داخل البرنامج النصي للإشارة إلى الملف المفتوح.

flash:COMMANDS_TO_EXECUTE.txt: هذا هو المسار واسم الملف في نظام ملف Flash حيث يتواجد الملف.

ر: هذا هو وضع الوصول إلى الملف، مما يعني أن الملف مفتوح للقراءة فقط.

++ الإجراء 060 قراءة ملف إدخال الملف 1:

قراءة الملف: يحدد هذا الإجراء العملية المراد قراءتها من ملف.

فيلين 1: هذا هو واصف الملف أو المؤشر الذي تم تعيينه عند فتح الملف (على سبيل المثال، مع الإجراء 050 file open filine1. flash:COMMANDS_TO_EXECUTE.txt r).

الإدخال: هذا هو اسم المتغير حيث يتم تخزين بيانات القراءة للاستخدام في عمليات النص التنفيذي التالية.

++ الإجراء 070 الخاص بسطر التطابق $input '\n':

فوراتش: يحدد هذا الأمر تكرار على سلسلة.

السطر: هذا هو متغير التكرار الذي سيمسك كل رمز مميز (سطر) أثناء كل تكرار.

$input: هذا هو متغير سلسلة الإدخال الذي يحتوي على أسطر أو إدخالات متعددة.

'\n': هذا هو المحدد المستخدم لتقسيم سلسلة الإدخال إلى رموز مميزة، في هذه الحالة، حرف سطر جديد.

كل سطر هو رمز مميز و \n هو المفصل في هذه الحالة.

+ إجراء 080 CLI أمر $خط:

أمر CLI: يحدد أن الإجراء هو تنفيذ أمر CLI على الجهاز.

$السطر: المتغير الذي يحتوي على سلسلة أمر CLI المطلوب تنفيذها. تضمن علامات الاقتباس معالجة السلسلة بأكملها كأمر واحد.

++ ملف كتابة الإجراء 090 '$_cli_result':

كتابة الملف: أمر IM لكتابة البيانات إلى ملف.

الملفات 1: تم فتح معالج الملفات من قبل أمر مثل ملف مفتوح fileout1 flash:OUTPUT.txt a+، ويمثل الملف الذي تتم كتابة البيانات إليه.

'$_cli_result': المتغير الذي يحتوي على إخراج أمر CLI أو أي بيانات سلسلة ليتم كتابتها إلى الملف. تضمن علامات الاقتباس معالجة المحتوى بالكامل كسلسلة واحدة.

يتم إستخدام هذا الأمر بشكل نموذجي بعد تنفيذ أوامر CLI والتقاط مخرجاتها في $_cli_result، مما يمكن البرنامج النصي من تسجيل الإخراج أو أرشفته إلى ملف على تخزين Flash الخاص بالجهاز.

++ نهاية الإجراء 100:

نهاية: الكلمة الأساسية التي تعبر عن نهاية الكتلة الشرطية مثل إذا، غير ذلك، أو حين.

++ الإجراء 120 ملف إغلاق الملف 1:

إغلاق الملف: عملية إغلاق واصف الملف.

فيلين 1: معرف واصف الملف المراد إغلاقه، والذي يجب فتحه في وقت سابق في البرنامج النصي.

تنفيذ برنامج IM النصي

in order to يدويا أطلقت ال IM نص:

C9600-Silicon1-SVL#event manager run Cisco_Live

في هذا المثال، يتم تشغيل برنامج IM النصي يدويا. يمكن أن يحتوي البرنامج النصي على أي مشغل طبقا لمتطلبات الشبكة.

نتيجة تنفيذ الملف

يعرض عرض ملف المخرجات الأوامر التي تم تنفيذها ونتائجها:

C9600-Silicon1-SVL#more flash:OUTPUT.txt

Enter configuration commands, one per line. End with CNTL/Z.

C9600-Silicon1-SVL(config)#

C9600-Silicon1-SVL(config-if)#

C9600-Silicon1-SVL(config-if)#

C9600-Silicon1-SVL#Load for five secs: 0%/0%; one minute: 1%; five minutes: 1%

No time source, *22:01:35.406 IST Sun Jan 25 2026

------------------ show running-config interface FiftyGigE1/1/0/3 ------------------

Building configuration...

Current configuration : 127 bytes

!

interface FiftyGigE1/1/0/3

description To-Host3-Ten 1/1/3

switchport access vlan 10

switchport mode access

shutdown

end

تم إيقاف تشغيل الواجهة 5GigE1/1/0/3 بنجاح وفقا لتسلسل الأوامر.

ملخص

وضح هذا المستند كيفية دمج البرمجة النصية من TCL والإدخال/الإخراج (IM) من Cisco لإنشاء برنامج نصي IM واحد مرن وقادر على تنفيذ أي تسلسل للأوامر المخزنة في ملف نصي. ويتيح هذا النهج لمسؤولي الشبكات تحديد تسلسلات الأوامر خارجيا وإطلاق تنفيذها تلقائيا أو يدويا، مما يحسن التشغيل التلقائي وكفاءة التشغيل على محولات Cisco Catalyst التي تشغل نظام Cisco IOS XE.