
🎯 App Deployment in Microsoft Intune
يُعدّ نشر التطبيقات (App Deployment) داخل Microsoft Intune حجر الأساس لأي بيئة حديثة تعتمد على إدارة الأجهزة والسحابة. فنجاحك في "تغليف التطبيق ثم نشره ثم التأكد من تثبيته وتحديثه وإزالته عند الحاجة" لا يعتمد على النقرات داخل البوابة فقط، بل على فهم عميق لطبقات الإدارة مثل MDM و MAM، وأنواع التطبيقات (Win32/LOB/Microsoft Store/Microsoft 365 Apps)، ونماذج الاستهداف (User-based/Device-based)، وسياق التثبيت (User/System)، وأهم نقطة تشغيلية: قواعد الاكتشاف (Detection Rules) التي تمنح Intune القدرة على معرفة "هل التطبيق موجود فعلًا؟".
1️⃣ App Deployment — ما المقصود بنشر التطبيقات في Microsoft Intune؟
يبدأ بإعداد الحزمة (Packaging) ورفعها، ثم توزيعها واستهدافها (Assignment)، مرورًا بالتثبيت (Installation) والتحديث (Update) والمراقبة (Monitoring)، وأخيرًا الإزالة (Uninstall) عند الحاجة.
- تجهيز الحزمة — تحديد نوع التطبيق وتغليفه وتعريف أوامر التثبيت والإزالة.
- الاستهداف — توزيع التطبيق على مجموعات Entra ID وفق قواعد واضحة.
- التثبيت — تنفيذ الأمر في سياق User أو System.
- قواعد الاكتشاف — التحقق من أن التطبيق مثبت فعلًا عبر Detection Rules.
- المراقبة والتحديث — متابعة التقارير والسجلات وتحديث الإصدارات.
- الإزالة — إلغاء التثبيت عند انتهاء الحاجة وفق أمر موثوق.
2️⃣ MDM vs MAM — الفرق بين إدارة الأجهزة وإدارة التطبيقات
يعتمد MDM على تسجيل الجهاز (Enrollment) في Intune، بينما يعمل MAM دون الحاجة لتسجيل الجهاز، ويُستخدم بكثرة في سيناريوهات BYOD.
- MDM: تطبيق سياسات الجهاز (Security/Configuration) والتحكم في الامتثال ونشر التطبيقات على مستوى النظام.
- MAM: حماية بيانات المؤسسة داخل التطبيقات المدعومة عبر App Protection Policies مثل منع النسخ/اللصق خارج التطبيقات المُدارة أو فرض PIN.
- الاختيار: الأجهزة المملوكة للمؤسسة أو التي تحتاج تحكمًا شاملًا → MDM، وحماية البيانات على جهاز شخصي → MAM.
- التنبيه: عندما يجتمع MDM و MAM على نفس الجهاز، يجب فهم أولوية السياسات وربطها بـ Conditional Access.
3️⃣ App Platforms — منصات التطبيقات في Intune
لكل منصة أنواع تطبيقات، وآليات تثبيت، ومتطلبات توقيع وصلاحيات، وقواعد اكتشاف مختلفة.
- Windows: Win32 (.intunewin) أو تطبيقات Microsoft Store.
- macOS: حزم PKG أو DMG.
- iOS/iPadOS: تطبيقات VPP أو من المتجر.
- Android: عبر Managed Google Play.
4️⃣ Win32 App — لماذا يُعد الخيار الأكثر مرونة على Windows؟
ما يجعله الأكثر مرونة هو إتاحته إمكانيات تشغيلية متقدمة لا توفرها الأنواع الأخرى.
- قواعد اكتشاف متعددة (Detection Rules).
- تبعية التطبيقات (Dependencies) لضمان ترتيب التثبيت.
- الاستبدال (Supersedence) لإحلال إصدار محل إصدار آخر.
- متطلبات دقيقة (Requirements) مثل الإصدار والمعمارية.
- التحكم في سلوك التثبيت وإعادة التشغيل وتجربة المستخدم.
5️⃣ Win32 Content Prep Tool — أداة تجهيز محتوى Win32
بدلًا من رفع ملفات خام، تغلّف الأداة المحتوى بطريقة يفهمها Intune ويستطيع IME تنزيله وفكّه وتنفيذه بأمان.
- جمع ملفات المصدر (مثل setup.exe والملفات المصاحبة) في مجلد واحد.
- اختيار ملف الإعداد الأساسي من المجلد.
- تحديد مجلد الإخراج لإنتاج الحزمة .intunewin.
- تنظيم المصادر واتباع تسمية واضحة للإصدارات وتوثيق خيارات التثبيت الصامت.
6️⃣ LOB App vs Win32 App — الفرق بين التطبيق المباشر والمرن
تاريخيًا كان LOB مناسبًا للسيناريوهات السريعة، لكنه محدود في التبعيات والاستبداد والتحكم في التثبيت والتحقق.
- LOB: لملف MSI بسيط دون تبعيات أو استبدال، عند الحاجة لنشر سريع.
- Win32: للترقية المنظمة والاستبدال (Supersedence) وإدارة التبعيات وقواعد الكشف المتقدمة.
- المعيار الاحترافي: اعتماد Win32 كمسار أساسي لمعظم تطبيقات Windows لتوحيد المنهجية.
- التوافق: عند الانتقال من SCCM إلى Intune أو بناء Co-management، تُعاد بناء التطبيقات كـ Win32 لتقارب المفاهيم.
7️⃣ Microsoft Store App (WinGet) — متى يكون أفضل خيار؟
في كثير من الحالات تحصل على تحديثات أسهل تلقائيًا وبعبء تغليف أقل مقارنةً بـ Win32 التقليدي.
- تقليل العبء التشغيلي للتطبيقات الشائعة المتاحة عبر المتجر/WinGet.
- تقليل حجم المحتوى المُدار داخل Intune وتبسيط التحديثات.
- خيارات تخصيص أقل من Win32، وقد لا يتوفر كل تطبيق عبر هذا المسار.
- تحقق من مصدر التطبيق وناشره، واعتمد سياسات تقييد المتجر عند الحاجة للحوكمة الصارمة.
8️⃣ App Assignment — لماذا تُعد "قرار هوية" بقدر ما هي "قرار تقني"؟
هو في الحقيقة قرار حوكمة وهوية: من الذي يجب أن يحصل على هذا التطبيق؟ ولماذا؟ وهل يرتبط بدور وظيفي أم بنوع جهاز أم بحالة امتثال؟
- نوع التعيين: Required / Available / Uninstall.
- مجموعات Entra ID واضحة مع تسميات قياسية ومراجعات دورية.
- الاستثناءات (Exclusions) تُدار بحذر شديد.
- مرشحات الأجهزة (Filters) لتقييد الاستهداف حسب خصائص الجهاز ونظام التشغيل.
9️⃣ Required vs Available vs Uninstall — أنواع تعيين التطبيقات
اختيار النوع يحدد تجربة المستخدم والعبء التشغيلي لكل تطبيق.
- Required: للتطبيقات الحرجة (VPN، عوامل الأمان، Microsoft 365 Apps) مع إدارة سلوك إعادة التشغيل.
- Available: للتطبيقات الاختيارية عبر Company Portal لتقليل الانقطاعات.
- Uninstall: لضبط النظافة (Hygiene) وسحب البرامج غير المعتمدة بعناية شديدة.
- إزالة تعيين Required لا تعني إزالة التطبيق من الجهاز؛ الإزالة تتطلب تعيين Uninstall أو منطق Supersedence.
🔟 Installation Context (User vs System) — كيف يؤثر على التثبيت والاكتشاف؟
يؤثر هذا القرار على مسارات الملفات، ومفاتيح Registry، وأوامر الإزالة، وطريقة تصميم قواعد الاكتشاف.
- User context: تثبيت داخل AppData وكتابة مفاتيح في HKCU.
- System context: تثبيت في Program Files وكتابة في HKLM وتشغيل الخدمات.
- يجب أن تتوافق قواعد الاكتشاف مع السياق: HKCU مع User و HKLM مع System.
- قلّل الاعتماد على SYSTEM إن لم تكن هناك حاجة حقيقية.
- نشر التطبيقات (App Deployment) دورة حياة كاملة من التغليف إلى الإزالة وليست "إرسال تطبيق" فقط.
- MDM يدير الجهاز بالكامل بينما MAM يحمي التطبيق والبيانات في سيناريوهات BYOD.
- Win32 هو المعيار المرن مع Detection Rules و Dependencies و Supersedence.
- التعيين (Required/Available/Uninstall) وسياق التثبيت قرارات حوكمة تؤثر على كل ما بعدها.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| App Deployment | نشر التطبيقات | إطار تشغيلي يغطي دورة حياة التطبيق على الأجهزة المُدارة. |
| MDM | إدارة الأجهزة المحمولة | نموذج إدارة الجهاز بالكامل عبر تسجيله في Intune. |
| MAM | إدارة التطبيقات المحمولة | نموذج يحمي التطبيق والبيانات دون تسجيل الجهاز. |
| Win32 App | تطبيق Win32 | نموذج نشر مرن لتطبيقات Windows بعد تغليفها بصيغة .intunewin. |
| Win32 Content Prep Tool | أداة تجهيز محتوى Win32 | أداة تحول ملفات المصدر إلى حزمة .intunewin مشفرة. |
| LOB App | تطبيق خط العمل | نشر MSI مباشر بخيارات أبسط ومحدودة. |
| App Assignment | تعيين التطبيق | استهداف التطبيق لمستخدمين أو أجهزة عبر مجموعات Entra ID. |
| Installation Context | سياق التثبيت | يحدد الحساب (User أو System) الذي ينفذ التثبيت. |
1️⃣ Detection Rules — ما هي ولماذا تُعد عنصرًا حاسمًا؟
Intune لا "يفترض" النجاح؛ بل يعتمد كليًا على نتيجة الاكتشاف ليقرر هل يعلن التطبيق Installed أم Failed.
- تفصل بين "نجاح التثبيت فعلًا" و"اعتراف النظام بهذا النجاح".
- قاعدة غير متوافقة مع طريقة التثبيت أو السياق تؤدي إلى حالة خاطئة وإعادة تثبيت متكررة.
- تؤثر على التحديثات اللاحقة و Supersedence وتجربة Autopilot.
- القاعدة الخاطئة قد تسبب إعادة تثبيت غير مقصودة أو إزالة تطبيقات حرجة ضمن سيناريوهات Uninstall.
2️⃣ File-based Detection — الاكتشاف عبر الملفات
تُستخدم غالبًا مع تطبيقات EXE أو التطبيقات الداخلية التي لا تسجّل نفسها في Windows Registry.
- اختر ملفًا "ثابتًا" لا يتغير اسمه أو موقعه بين الإصدارات.
- يفضل أن يكون الملف أساسيًا لعمل التطبيق.
- تجنب الاعتماد على ملفات مؤقتة أو قابلة للحذف بسهولة.
- هذا النوع أقل إحكامًا من Registry أو MSI لأنه يتحقق من الوجود فقط.
3️⃣ Registry-based Detection — الاكتشاف عبر السجل
يُعد هذا النوع من أكثر طرق الاكتشاف استقرارًا عندما يكون التطبيق مصممًا وفق المعايير المؤسسية الصحيحة.
- أغلب التطبيقات المؤسسية تكتب الإصدار أو حالة التثبيت في السجل عند التثبيت.
- نجاحه مرتبط مباشرة بسياق التثبيت: System غالبًا HKLM و User يعني HKCU.
- الخطأ الشائع: البحث في HKLM بينما التطبيق مثبت لكل مستخدم فيؤدي لفشل الاكتشاف.
- يمنح مؤشرًا أقرب لحالة النظام الحقيقية مقارنة بالتحقق من ملف فقط.
4️⃣ MSI-based Detection — الاكتشاف عبر حزمة MSI
يُعد هذا النوع الأسهل والأكثر موثوقية عند التعامل مع تطبيقات MSI أصلية غير معاد تغليفها.
- متكامل مع آلية Supersedence في Intune لفهم العلاقة بين الإصدارات.
- يمكن للنظام تنفيذ الاستبدال أو الإزالة تلقائيًا.
- غير مناسب لتطبيقات EXE أو MSI مغلّفة داخل Wrapper مخصص.
- يعتمد على هوية فريدة (GUID) يصعب التلاعب بها مقارنة بالملفات.
5️⃣ Script-based Detection — الاكتشاف عبر السكربت
هذا النوع هو الأكثر مرونة لكنه أيضًا الأكثر حساسية للأخطاء.
- يجب أن يكون السكربت بسيطًا وسريع التنفيذ.
- يعيد رمز خروج واضحًا: 0 = Installed، 1 = Not Installed.
- راجع السكربت أمنيًا لتجنب تنفيذ أوامر غير ضرورية بصلاحيات مرتفعة.
- يُستخدم فقط عندما تفشل جميع طرق الاكتشاف الأخرى.
- قواعد الاكتشاف (Detection Rules) هي نقطة الفصل بين البيئة المستقرة والتقارير غير الدقيقة.
- File-based للـ EXE والداخلي، وRegistry للـ HKLM/HKCU، وMSI للأصلية، وScript للمركب.
- التطابق مع سياق التثبيت (Installation Context) شرط أساسي لنجاح الاكتشاف.
- السكربت يجب أن يكون بسيطًا وسريعًا بأكواد خروج واضحة (0 = مثبت، 1 = غير مثبت).
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| Detection Rule | قاعدة الاكتشاف | القاعدة التي يتحقق بها Intune من تثبيت التطبيق فعلًا. |
| File-based Detection | اكتشاف عبر الملفات | التحقق من وجود ملف وإصداره في مسار محدد. |
| Registry-based Detection | اكتشاف عبر السجل | التحقق من وجود مفتاح أو قيمة في HKLM أو HKCU. |
| MSI-based Detection | اكتشاف عبر MSI | يعتمد على كود المنتج (Product Code) لحزمة MSI. |
| Script-based Detection | اكتشاف عبر السكربت | PowerShell ينفذ منطقًا مخصصًا للتحقق من شروط مركبة. |
| Product Code | كود المنتج | معرف GUID فريد لحزمة MSI. |
| Exit Code | رمز الخروج | القيمة التي يحدد بها السكربت حالة الاكتشاف (0 مثبت، 1 غير مثبت). |
| Supersedence | الاستبدال | استبدال إصدار قديم بإصدار جديد ضمن نفس التطبيق. |
1️⃣ User-based vs Device-based — ما الفرق بين نموذجي التعيين؟
في User-based يُنشر التطبيق تلقائيًا عند تسجيل دخول المستخدم إلى أي جهاز، وفي Device-based يُثبت بغض النظر عن المستخدم.
- User-based: للتطبيقات المرتبطة بدور المستخدم مثل تطبيقات العمل اليومية.
- Device-based: للتطبيقات المرتبطة بالجهاز مثل العوامل الأمنية والسائقين و VPN وأدوات الإدارة.
- الاختيار الخاطئ قد ينشر تطبيقات حساسة على أجهزة غير مناسبة أو يفقد تطبيقات مطلوبة عند تبديل المستخدمين.
2️⃣ When User-based Fails — متى يكون التعيين حسب المستخدم خاطئًا؟
في هذه الحالات قد يسبب فشل التثبيت أو تثبيتًا متكررًا عند تسجيل الدخول والخروج.
- التطبيقات التي تعمل كخدمات Windows.
- التطبيقات المستخدمة قبل تسجيل الدخول (Pre-logon).
- التطبيقات التي تشكل جزءًا من البنية الأمنية للجهاز.
- أي تطبيق قد يخلق فجوة حماية إذا لم يسجل المستخدم المستهدف الدخول بعد.
3️⃣ Installation Context — لماذا يُعد قرارًا معماريًا؟
هو قرار معماري لأنه يؤثر على مسارات الملفات ومفاتيح Registry وصلاحيات التنفيذ وسلوك الإزالة وقواعد الاكتشاف.
- User context: ضمن صلاحيات المستخدم الحالي، غالبًا داخل AppData أو HKCU.
- System context: بحساب SYSTEM، يسمح بالكتابة في Program Files و HKLM وتشغيل الخدمات.
- عدم التوافق بين السياق وقاعدة الاكتشاف من أكثر أسباب فشل التطبيقات شيوعًا.
- استخدام System دون حاجة حقيقية يزيد من سطح الهجوم.
4️⃣ Uninstall & Supersedence — كيف يؤثر السياق على الإزالة والاستبدال؟
إذا ثُبّت التطبيق في سياق User لكن أمر الإزالة يعمل في سياق System، قد لا يجد Intune المسارات أو المفاتيح الصحيحة.
- يجب أن يتوافق سياق الإزالة مع سياق التثبيت الأصلي.
- في Supersedence يعتمد Intune على قواعد الاكتشاف لتحديد ما إذا أزيل الإصدار القديم قبل تثبيت الجديد.
- الفشل في الإزالة يترك بقايا تطبيقات قديمة أو تعارضات تشغيلية.
- استخدم Script-based Uninstall عند الحاجة للتعامل مع ملفات جميع المستخدمين.
5️⃣ Best Practices — أفضل الممارسات لربط نموذج التعيين بالسياق
عند الالتزام بهذه القاعدة تصبح البيئة أكثر استقرارًا وتقل حالات الفشل الصامت.
- توثيق قرار التعيين والسياق لكل تطبيق ضمن كتالوج التطبيقات المؤسسي.
- اختبار السيناريوهات الأساسية: تثبيت، اكتشاف، إعادة تشغيل، تحديث، إزالة.
- تقليل عدد التطبيقات التي تعمل في سياق System إلا لوجود مبرر تقني واضح.
- استخدام Filters لمنع التثبيت على أجهزة غير مناسبة مثل BYOD.
- User-based يتبع هوية المستخدم بينما Device-based يتبع الجهاز نفسه.
- التطبيقات المرتبطة بالجهاز والخدمات تُدار Device-based + سياق System.
- تطابق السياق مع قواعد الاكتشاف وأوامر الإزالة شرط نجاح النشر.
- وثّق القرار لكل تطبيق واختبر السيناريوهات كاملة قبل التعميم.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| User-based Assignment | تعيين حسب المستخدم | التطبيق يتبع هوية المستخدم عبر أجهزته المسجلة. |
| Device-based Assignment | تعيين حسب الجهاز | التطبيق يثبت لأن الجهاز عضو في مجموعة مستهدفة. |
| Installation Context | سياق التثبيت | الحساب (User أو System) الذي ينفذ التثبيت. |
| Uninstall | الإزالة | أمر يزيل التطبيق من الأهداف المحددة عند التقييم. |
| Supersedence | الاستبدال | إحلال إصدار جديد محل إصدار قديم مع خيار إزالته. |
| Device Filter | مرشح الجهاز | قاعدة تقيّد الاستهداف حسب خصائص الجهاز أو نظام التشغيل. |
| Company Portal | بوابة الشركة | تطبيق يثبت منه المستخدمون التطبيقات المتاحة. |
1️⃣ How Intune Evaluates Install Status — كيف يقيّم حالة التثبيت؟
بعد تنفيذ أمر التثبيت عبر IME، يعتمد النظام كليًا على قاعدة الاكتشاف (Detection Rule) لتحديد الحالة النهائية.
- الحالة تعكس "هل تحقق شرط الاكتشاف" وليس "هل نجح الأمر".
- أي خطأ في قاعدة الاكتشاف أو عدم توافقها مع السياق ينتج حالة خاطئة.
- التقارير لا تُظهر "هل نجح الأمر" بل "هل تحقق شرط الاكتشاف".
- الحالات الوهمية تؤثر على قرارات التحديث أو الإزالة.
2️⃣ Device vs User Install Status — الفرق في التقارير
الأول يركز على الجهاز بغض النظر عن المستخدم، والثاني يركز على تجربة المستخدم وتفاعله مع التطبيق.
- Device install status: مع التعيين حسب الجهاز (Device-based) وتطبيقات سياق System.
- User install status: مع التعيين حسب المستخدم (User-based) والنشر عبر Company Portal.
- الاعتماد على التقرير الخطأ يؤدي إلى استنتاجات غير دقيقة.
- الحالة Not applicable لا تعني فشلًا دائمًا.
3️⃣ IME — دور Microsoft Intune Management Extension في الاستكشاف
بدون IME لا يمكن لـ Intune تنفيذ منطق النشر المتقدم.
- سجلاته توضح متى نُزّل التطبيق وكيف نُفّذ أمر التثبيت ونتيجته.
- تشرح لماذا فشلت قاعدة الاكتشاف إن حدث ذلك.
- فهم هذه السجلات يقلل وقت الاستكشاف من ساعات إلى دقائق.
- أي سكربت أو أمر خاطئ قد يُنفذ بصلاحيات مرتفعة، فيجب إدارة الحزم بعناية.
4️⃣ Common Failure Causes — أكثر أسباب الفشل شيوعًا
فهم الأسباب المتكررة يمنع تكرار المشاكل نفسها عبر التطبيقات.
- عدم توافق سياق التثبيت (Installation Context) مع قاعدة الاكتشاف.
- أوامر تثبيت غير صامتة تنتظر تفاعل المستخدم في نشر Required.
- مسارات خاطئة في أوامر التثبيت أو قواعد الاكتشاف.
- استهداف خاطئ للمجموعات أو اعتماد حلول سريعة غير آمنة مثل تشغيل كل شيء في سياق System.
5️⃣ Troubleshooting Methodology — المنهجية الصحيحة للاستكشاف
هذه الطبقات المنظمة تحول الاستكشاف من عمل ارتجالي إلى عملية منهجية.
- تحقق من صحة المجموعة والاستهداف أولًا.
- تأكد من استلام الجهاز للسياسة.
- راجع سياق التثبيت وأوامر التثبيت والإزالة.
- حلل قاعدة الاكتشاف وسجلات IME واختبر على جهاز تجريبي قبل التعميم.
- الحالة في Intune تعكس نتيجة قاعدة الاكتشاف وليس نجاح الأمر.
- حالة تثبيت الجهاز (Device install status) للمعدات، وحالة المستخدم (User install status) للتجربة.
- IME وسجلاته مفتاح حل معظم مشكلات التطبيقات.
- اتبع المنهجية من التعيين إلى السجلات واختبر على جهاز تجريبي قبل التعميم.
📖 جدول المصطلحات
| المصطلح (English) | الترجمة | المفهوم |
|---|---|---|
| IME | إدارة Intune للتطبيقات | المحرك الذي ينفذ Win32 والسكربتات ويقيّم قواعد الاكتشاف. |
| Install Status | حالة التثبيت | الحالة النهائية التي يعلنها Intune للتطبيق. |
| Device install status | حالة تثبيت الجهاز | حالة التطبيق على الجهاز بغض النظر عن المستخدم. |
| User install status | حالة تثبيت المستخدم | حالة التطبيق من منظور تجربة المستخدم وتفاعله. |
| Detection Rule | قاعدة الاكتشاف | الشرط الذي يحدد نجاح التثبيت من فشله. |
| Autopilot | أوبايلوت | أداة التهيئة التلقائية للأجهزة أثناء الإعداد. |
| Company Portal | بوابة الشركة | مركز تثبيت التطبيقات المتاحة للمستخدمين. |
🚀 الخاتمة
في هذا المقال انتقلنا من فهم دورة حياة نشر التطبيقات (App Deployment) في Microsoft Intune، إلى تصميم قواعد الاكتشاف (Detection Rules)، ثم نماذج التعيين (Assignment Models) وسياق التثبيت (Installation Context)، وأخيرًا المنهجية العملية للمراقبة والاستكشاف (Monitoring & Troubleshooting). الفكرة المحورية أن النشر الاحترافي لا يقوم على النقرات داخل البوابة، بل على قرارات منسجمة بين نوع التطبيق وسياق التثبيت وقاعدة الاكتشاف والتعيين الدقيق. عندما تتطابق هذه الطبقات يتحول Intune إلى منصة إدارة تطبيقات مستقرة، بتقارير أدق وفشل أقل واستكشاف أسرع. ابدأ بتطبيق هذه المبادئ على تطبيق واحد وثّق النتائج ثم عمّمها على كتالوج تطبيقاتك بالكامل.