اذهب إلى المحتوى

Hassan Hedr

الأعضاء
  • المساهمات

    2852
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    38

كل منشورات العضو Hassan Hedr

  1. لتنسيق النص على بلغة محدد يمكن الاستفادة من استدعاء التابع locale على نسخة التاريخ من Carbon أولًا بعدها تنسيق النص باستخدام التابع translatedFormat وتمرير الصيغة المطلوب فيها إظهار التاريخ كالتالي: $date = \Carbon\Carbon::now(); echo $date->locale('ar')->translatedFormat('l F jS,Y h:i:s A'); // السبت يونيو 4,2022 04:10:52 م يمكنك الاستفادة من قراءة المقال التالي:
  2. المحتوى في أغلب الدورات يبدأ من الأساسيات ويستهدف تحديدًا المبتدئين حتى ولو من الصفر، إذا كان مستواك متوسط يمكنك تجاوز أول مسارين أو مشاهدتهما لترميم أي نقص لديك في الأساسيات (حتى من يملك خبرة متقدمة قد يغفل عن بعض الأساسيات) إلى المسارات التي تليها عمومًا ستستفيد من الدورة في النقاط التالية: تطوير تطبيقات برمجية بلغة بايثون تعلم أساسيات إطار العمل جانغو Django استخدام جانغو Django في تطوير متجر إلكتروني تعلم فلاسك Flask، وتطوير واجهة برمجية API باستخدامها لا يوجد اختبار تحديد مستوى، الدورات تؤهلك لامتلاك الخبرة اللازمة لسوق العمل وبناء المشاريع الحقيقية، الاختبار الوحيد هو اختبار اتمام الدورة للحصول على شهادة موثقة من أكاديمية حسوب، يمكنك الاطلاع على الصفحة الرئيسية لدورة تطوير تطبيقات الويب باستخدام لغة بايثون مذكور فيها كافة النقاط بالتفصيل مع فيديوهات توضيحية من داخل محتوى الدورة، وقسم خاص للأسئلة الشائعة، يمكنك أيضًا القراءة ضمن قاعدة المعرفة الخاصة بالأكاديمية لمعرفة تفاصيل وإجراءات الامتحان والشهادة وأي تفاصيل أخرى
  3. كلا الموقعين يعملان بشكل سليم، تأكّد من جودة اتصالك بالإنترنت أو حاول بمتصفح آخر، في حال بقيت لديك المشكلة يمكنك التواصل مع مركز مساعدة خمسات، لكن غالبًا المشكلة من طرفك وليس من طرف الموقع
  4. يرجى إرفاق الشيفرة ورسالة الخطأ بشكل نصي داخل نص السؤال وحذف الصور من فضلك، تعريف المتغير n يجب أن يكون بداخل جسم التابع main وليس خارجه، لحل المشكلة عدل الشيفرة لتصبح كالتالي: int main(){ int n; ... } يمكنك الاستفادة من قراءة سلسلة مقالات ‎C++‎ للمحترفين:
  5. يُعد تاريخ انتهاء صلاحية كلمة المرور الخاصة بمستخدمي نطاق خدمة Active Directory أكثر المشاكل شيوعًا، إذ يتعامل المستخدمون مع العديد من كلمات المرور، مما يؤدي إلى نسيان إعادة تعيين كلمات مرور جديدة قبل انتهاء صلاحيتها. فما الذي يحدث عندما تنتهي صلاحية كلمة مرور في خدمة Active Directory؟ لن يُقفل الحساب، ولكن على صاحبه تغيير كلمة المرور كي يتمكن من الوصول لموارد النطاق مجددًا، ويمكن للمستخدمين أو في غالب الأحيان مسؤول إدارة النطاق في خدمة Active Directory التعامل مع هذه الإزعاجات من خلال الحصول على معلومات حول تاريخ انتهاء صلاحية حساب المستخدم ومعلومات هامةٍ أخرى. سنستعرض طريقتين مختلفتين، تتمثل أولاهما في معرفة تاريخ انتهاء صلاحية كلمة مرور لحساب مستخدم ضمن Active Directory، ثم سنلقي نظرةً على كيفية الحصول على قائمة كاملة بذلك لجميع المستخدمين. استخدام الأمر Net User للتحقق من تاريخ انتهاء صلاحية كلمة المرور من الطرق البسيطة لمعرفة متى تنتهي صلاحية كلمة مرور مستخدم Active Directory هي استخدام الأمر Net User، وهو جزءٌ من أوامر "net commands"، التي تسمح بإضافة أو إزالة أو تعديل حساب مستخدم ضمن جهاز الحاسوب. لتنفيذ الأمر "net user"، لا بُدّ من فتح واجهة الطرفية "cmd" على ويندوز على النحو الآتي. أولًا، اذهب لحقل البحث ضمن قائمة ابدأ واكتب "cmd"، أو يمكنك الضغط على شعار ويندوز مع المفتاح "R" لفتح أداة Run، ثم اكتب "cmd". ثانيًا، ضمن نافذة طرفية الأوامر، نفِّذ الأمر "net user" مع إضافة المعاملات التالية: net user [username] [/DOMAIN] إذ أن: [username]: يحدد اسم حساب المستخدم. [DOMAIN/]: يعرض معلومات عن حساب اسم المستخدم ضمن متحكم نطاق معين. لمعرفة المزيد حول استخدامات الأمر يمكنك تنفيذ الأمر ?/ net user كما هو موضح في الصورة التالية. توضح الصورة التالية مثالًا عن خرج الأمر السابق؛ فمثلًا عند تنفيذ الأمر ”net user test01 /TEST.local” يمكننا عرض معلومات عن كلمة المرور للمستخدم test01 ضمن نطاق المحلي TEST.local. نلاحظ ضمن المعلومات الظاهرة تاريخ انتهاء صلاحية كلمة المرور، ويمكن ملاحظة معلومات مفيدة أخرى، مثل توقيت آخر تعيينٍ لكلمة المرور، ومتى يمكن تغييرها، وهل يمكن للمستخدمين تغيير كلمات المرور، وغيرها من المعلومات. قائمة بتواريخ انتهاء صلاحية كلمات المرور لجميع مستخدمي Active Directory يفيد الأمر "net user" فقط في حالة استخراج معلوماتٍ عن مستخدمٍ ما؛ ولكن في حال أردنا استخراج معلوماتٍ عن حسابات وكلمات المرور لجميع المستخدمين ضمن Active Directory، سنحتاج لتنفيذ سطر من شيفرة PowerShell. توجد سمةٌ مبنيةٌ ضمن Active Directory تُسمى "msDS-UserPasswordExpiryTimeComputed"، وهي تمكننا من الحصول على الحسابات ضمن Active Directory وتوقيت انتهاء الصلاحية لكلمات المرور الخاصة بهم. قبل تنفيذ الشيفرة، لا بُدّ من التأكُّد بأن وحدة Active Directory لسطر أوامر PowerShell مثبتةٌ وقيد التنفيذ، إذ تمكِّننا تلك الوحدة من إظهار معلومات قيِّمة مخزنةٍ ضمن كائنات Active Directory، تتضمن إعدادات كلمة المرور وتاريخ انتهاء صلاحية وتوقيت آخر تعديل وغيرها. أولًا، نزِّل وثبِّت وحمِّل أدوات إدارة الخادم البعيد Remote Server Administration Tools -أو اختصارًا RSAT-، وفي حال لم يكن مثبتًا، يمكنك اتباع دليل Microsoft التقني. ثانيًا، تأكد من عمل ميزة PowerShell، ثم ضغط على مفتاح شعار ويندوز مع المفتاح "R" لفتح نافذة أداة Run، ثم اكتب "Windows PowerShell". ثالثًا، يمكنك استخدام السمة "msDS-UserPasswordExpiryTimeComputed" للحصول على تاريخ انتهاء صلاحية كلمة المرور لمستخدم ما على النحو التالي: Get-ADUser -Identity UserName -Properties msDS-UserPasswordExpiryTimeComputed).'msDS-UserPasswordExpiryTimeComputed' رابعًا، لا يمكن قراءة نتيجة خرج من الأمر السابق، لذلك ستحتاج لإضافة السطر التالي من أجل تحويلها لصيغةٍ قابلةٍ للقراءة: {[datetime]::FromFileTime($_.”msDS-UserPasswordExpiryTimeComputed”)} يمكن تنفيذ نفس السمة msDS-UserPasswordExpiryTimeComputed مع إضافة تصفية filter صحيحة للحصول على قائمة بحسابات وكلمات مرور وتواريخ انتهاء صلاحية مستخدمي Active Directory على النحو التالي: Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" | Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} وسائل وأدوات بعد الحصول على تواريخ انتهاء صلاحية لحسابات المستخدمين، يمكنك الاستعانة بزوجٍ من الأدوات المجانية التي تساعد في إدارة حسابات المستخدمين وأجهزة الحواسيب ضمن Active Directory. إدارة المستخدمين وإبقاء نطاق Active Directory نظيفا تأتي الأداة المجانية حزمة إدارة SolarWinds لخدمة Active Directory بثلاث أدوات تساعد في إدارة حسابات المستخدمين وأجهزة الحاسوب ضمن Active Directory، إذ يمكن باستخدام هذه الحزمة إيجاد وحذف حسابات المستخدمين وأجهزة الحواسيب غير الفعالة. تتألف الحزمة من الأدوات التالية: أداة إزالة حسابات المستخدمين غير الفعالة: وهي أداةٌ للبحث عن الحسابات التي لم تُستخدم، أو يُسجَّل الدخول إليها، أو تلك الحسابات غير الفعالة منذ وقت طويل؛ كما تمكِّننا من تصدير قائمة بتلك الحسابات وإزالة جميع الحسابات غير الفعالة. أداة إزالة أجهزة الحواسيب: وهي أداةٌ للبحث عن الأجهزة غير الفعالة، كما تمكِّننا من تصدير قائمةٍ بها وإزالتها. أداة استيراد المستخدمين: وهي أداةٌ لإنشاء حساباتٍ للمستخدمين ضمن Active Directory عبر استيرادها من ملف CSV أو XLS، كما تمكِّننا أيضًا من إنشاء حسابات ضمن Active Directory وصندوق بريد Exchange معًا في ذات الوقت. أتمتة إشعارات انتهاء صلاحية كلمة المرور للمستخدمين ضمن Active Directory يوجد أداةٌ أخرى تُسمى مدقق Lepide Auditor تساعد في أتمتة إدارة كلمات المرور للحسابات عبر الحصول على معلومات عنها مباشرة من Active Directory، كما تولِّد تقريرًا وترسله للمستخدم لإبلاغه بأن صلاحية كلمة المرور الخاصة به على وشك الإنتهاء، إذ تأتي هذه الأداة مع ميزة تذكير مستخدمي Active Directory عند قرب انتهاء صلاحية كلمة المرور الخاصة بهم. الخاتمة يوجد أسلوبان بسيطان للحصول على تاريخ انتهاء صلاحية كلمات المرور ضمن خدمة Active Directory؛ إذ يعتمد الأسلوب الأول على استخدام الأمر Net User، والثاني على سمة PowerShell: يُستخدم الأسلوب المعتمد على الأمر Net User للحصول على تاريخ انتهاء صلاحية كلمة المرور لمستخدم ما، ومن أجل استخدام هذا الأسلوب، يجب الوصول إلى حساب مستخدم Active Directory، أو يمكن للمستخدم نفسه تنفيذ ذلك الأمر على جهازه. أمر PowerShell أقوى وأسهل في الاستخدام، فيكفي فقط تثبيت وحدة PowerShell لخدمة Active Directory ويمكنك بعدها نسخ ولصق سطر شيفرة واحد للحصول على قائمةٍ كاملةٍ بالمستخدمين وتاريخ انتهاء صلاحية كلمات المرور لهم. يوجد أدواتٌ أخرى تساعدنا على إبقاء Active Directory نظيفًا وتؤتمت عملية إنشاء حسابات المستخدمين، مثل أداة حزمة إدارة SolarWinds لخدمة Active Directory. يوجد أدواتٌ أخرى مدفوعة، مثل برمجية مدقق لبيد Lepide Auditor، التي تساعد على أتمتة إشعارات انتهاء صلاحية كلمة المرور. أسئلة شائعة حول انتهاء صلاحية كلمة المرور هل يمكن لخدمة Active Directory إرسال بريد إلكتروني عند انتهاء صلاحية كلمة المرور؟ يمكن إعداد خدمة Active Directory لإشعار المستخدمين عند قرب انتهاء صلاحية كلمات المرور الخاصة بهم، لكن سيظهر هذا الإشعار ضمن النظام وفقط عند دخول المستخدم إلى شبكة الشركة، ومن الممكن استخدام نص برمجي ضمن PowerShell للتحقُّق من كلمات المرور التي هي على وشك الانتهاء وتوليد بريدٍ إلكتروني لكل مستخدم، ولكن لا يوجد إجرائيةٌ مؤتمتةٌ لهذا الأمر ضمن خدمة Active Directory. كيف يمكننا توليد انتهاء صلاحية كلمة مرور مستخدم خدمة Active Directory في سطر أوامر PowerShell؟ يمكن الحصول على قائمة بحسابات المستخدمين وتواريخ انتهاء الصلاحية عبر تنفيذ النص البرمجي التالي ضمن PowerShell: Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" | Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}} هل من الممكن رؤية كلمة المرور المستخدم ضمن Active Directory؟ لا يمكن حتى للمسؤول رؤية كلمة المرور لحساب المستخدم، ولكن يمكنه إعادة تعيينها؛ وهذا يمكِّن المسؤول المحتال من استعادة التحكم بحسابٍ ما. ترجمة -وبتصرف- للمقال "Find Password Expiration Date for Active Directory Users [ PowerShell & Free Tools]‎" لصاحبه Marc Wilson. اقرأ أيضًا خدمة Active Directory: دليل المصطلحات والتعاريف والأساسيات دليل استخدام تطبيق إدارة كلمات المرور KeePassXC
  6. الاهتمام ببنية المشروع وجودة الشيفرات المكونة له بما فيها مبادئ SOLID الهدف منها زيادة كفاءة قابلية الصيانة واكتشاف الأخطاء وإضافة التطويرات على النظام بسرعة ودون أخطاء، يأتي ذلك على حساب وقت التطوير الأولي للنظام، أما النظام الذي تم بناءه والتركيز على سرعة الاطلاق الأولي سيصل إلى أول نسخة بسرعة ويواجه مشاكل لاحقًا عند بدء اكتشاف المشاكل وإجراء عمليات الصيانة أو طلب التطويرات، الحل هنا كما ذكرت وهو التفكير إما بتعديل النظام والاهتمام بجودة الشيفرات، أو بناء نظام جديد مع التركيز هذه المرة على الجودة وليس سرعة التسليم، وخلال هذه العملية يجب نقل حالة وبيانات النظام القديم بما فيها البيانات في قاعدة البيانات أو أي حالة أخرى والتفكير بطريقة نقلها إلى النظام المطور الجديد، هل يمكن تطبيق ذلك؟ نعم ممكن ولا يهم التقنيات المستخدمة ضمن النظام (اللغة المستخدمة كـ PHP أو نوع قاعدة البيانات)، لكن قد تحتاج تلك البيانات إلى إعادة هيكلة لتناسب شكل النظام الجديد وعملية التهجير تلك مطلوبة في حال ضرورة إبقاء تلك البيانات، من أهم المبادئ الواجب التركيز عليها لإنتاج برمجية بجودة عالية هي مبدأ المسؤولية الواحدة SRP ومبدأ عكس التابعية DIP، الاهتمام بهذين المبدأين سيولد تلقائيًا برمجيات قابلة للقراءة وبسيطة وسهلة التطوير، ومبدأ الفتح والإغلاق OCP يساعد في بناء نظام يسهل إضافة الميزات إليه، يمكنك الاستفادة من قراءة المقالات التالية:
  7. يجب إجراء ربط الوحدات الأصلية Native Modules بشكل صحيح مع ملفات أندرويد أو IOS بحسب التطبيق الذي تستخدمه، اتبع خطوات تثبيت المكتبة ضمن الملفات الأصلية للتطبيق بحسب استخدامك والنسخ التي لديك.
  8. لاستخدام الكاميرا يجب تثبيت مكتبة react-native-camera ضمن مشروعك عبر تنفيذ الأمر التالي: npm i react-native-camera وإذا كنت تستخدم إصدار react-native أقل من 0.60 يجب تنفيذ أمر ربط الوحدات الأصلية Native التالي: react-native link react-native-camera
  9. ابدأ بتعلم أساسيات HTML لتتعلم بناء هيكلية صفحات الويب وكيف توزع المحتوى ضمنها وأي الوسوم والعناصر تختار وما دلالات تلك العناصر، تعرف على الروابط التشعبية وبناء النماذج، بعدها انتقل لتعلم CSS ونسق الصفحات التي بنيتها، تعلم عن المحددات، وخواص التنسيق وقيمها والألوان والصور، تعلم أساسيات التوضع وخصائص واستخدامات كل منها، بعدها انتقل إلى استخدام جافاسكريبت لإضافة التفاعلية إلى الصفحات، هنا ستتعلم لغة برمجة لذا ابدأ من الأساسيات، تعلم ما هي المتغيرات، والشروط والحلقات، والتوابع والكائنات، تعلم عن DOM وكيف يمكنك باستخدام جافاسكريبت التعديل على صفحتك وزيادة التفاعلية فيها، لا تقلق بشأن الإصدارات مثل CSS3 و HTML5 فقد مضى وقت طويل منذ أن اعتمدتها أغلب المتصفحات، وهي الآن افتراضية وستتعلمها بشكل تلقائي عند بحثك وقراءتك، يمكنك الاستفادة من قراءة المقالات التالية:
  10. سنستعرض في هذا المقال شرحًا معمقًا لبروتوكول النسخ الآمن وكيفية استخدامه وصيغة الأمر الخاص به وبعض الأمثلة على ذلك، إذ يُستخدم الأمر SCP باختصار على أنه طريقةٌ آمنة وسهلة لنقل الملفات بين أجهزة الحاسوب عبر خدمة الصدفة الآمنة Secure Shell -أو اختصارًا SSH. ما هو بروتوكول النسخ الآمن SCP؟ برتوكول SCP هي اختصار لبروتوكول النسخ الآمن Secure Copy Protocol، الذي يساعدنا في نقل الملفات بين مضيفٍ محلي ومضيف بعيد، ويتشابه بعض الشيء مع بروتوكول نقل الملفات File Transfer Protocol -أو اختصارًا FTP- لكن يضيف عليه الأمان والاستيثاق. يعمل SCP على المنفذ رقم 22، ويصطلح البعض بأنه دمجٌ بين BSD RCP وبروتوكول SSH؛ إذ يُستخدم بروتوكول RCP لنقل الملفات؛ ويوفِّر وبروتوكول SSH الاستيثاق والتشفير، لهذا يُعد SCP مزيجًا بين هذين البروتوكولين. تكون البيانات المُرسلة عبر بروتوكول SCP موثوقة، لذا يمكن استخدامه لإعاقة التنصت على الحزم عبر الشبكة Packet Sniffing، والذي يُمكّن المتنصت من استخراج معلومات قيّمة من حزم البيانات. يستفيد بروتوكول SCP من SSH، الذي يسمح بالتضمين والحفاظ على الأذونات والعلامات الزمنية للملفات المرفوعة. كيفية استخدام بروتوكول SCP يمكن للعميل SCP رفع الملفات إلى خادم SSH أو طلب تنزيل الملفات والمجلدات منه، إذ يرسل الخادم بدوره كل الملفات والمجلدات الفرعية المُتاحة للتنزيل. يجب الانتباه إلى أن الخادم يتحكم بعملية تنزيل الملف، لذا يمكن أن يكون هناك مخاطر أمنية في حال اتصل العميل بخادمٍ مشبوه. أمر SCP هو أمرٌ أصليٌ متواجدٌ ضمن معظم أنظمة التشغيل، مثل ماك وويندوز ولينكس، إذ يمكنك كتابة "scp" ضمن الطرفية للوصول إليه، وستجد الأمر أيضًا ضمن التطبيقات الشائعة لنقل الملفات عبر الشبكة، مثل تطبيق PuTTy. أمر النسخ CP و SCP لنفهم الفرق بينهما إذا استخدمت سابقًا الأمر "cp" على جهاز بنظام لينكس، فلن تجد صعوبةً في فهم SCP؛ إذ يتطلب كلا الأمرين وجود مكان مصدر ووجهة ضمن نظام الملفات لإتمام عملية النسخ؛ ويتمثّل الفرق الأساسي بينهما في أن SCP يتطلب أن يكون أحد أو كلا المكانين على نظامٍ بعيد. مثلًا عند تطبيق الأمر cp في المثال التالي: cp /main/john/pictures/picture*.png /main/john/archive سيهيء الأمر السابق عملية النسخ، إذ ستُنسَخ كافة الملفات، التي يبدأ اسمها بكلمة "picture" وينتهي باللاحقة "png." ضمن المجلد "pictures" الواقع ضمن المجلد الرئيسي للمستخدم john، إلى المجلد "archive" الواقع ضمن المجلد "main". يمكن تنفيذ نفس العملية باستخدام الأمر SCP على النحو التالي: scp /main/john/pictures/picture*.png john@myhost.com:/main/john/archive كما هو موضحٌ في المثال، عند استخدام الأمر SCP مع اسم تسجيل الدخول john؛ ستُرفع نفس الملفات إلى الخادم myhost.com وتحديدًا إلى المجلد البعيد ضمنه بالمسار "main/john/archive/"؛ وسيسمح SCP ببدء عملية الرفع فقط عندما يقدِّم المستخدم john كلمة المرور الخاصة به لذلك الخادم. يمكننا أيضًا تحديد مكانٍ بعيد على أنه مصدرٌ للملفات؛ إذ يمكننا مثلًا تنزيل تلك الملفات الموجودة على الخادم "myhost.com" والتي يبدأ اسمها بكلمة "picture" وينتهي باللاحقة "png."، إلى المسار المحلي "main/john/downloads/"، على النحو التالي: scp john@myhost.com:/main/john/archive/picture*.png /main/john/downloads استخدام SCP على مكانٍ بعيد يمكن أيضًا تحديد مضيف بعيد على أنه مصدرٌ ووجهةٌ بآنٍ معًا، إذ يمكن باستخدام الأمر التالي مثلًا نقل الملف من مجلدٍ موجودٍ على myhost.com إلى مجلدٍ آخر موجودٍ ضمن نفس الخادم. scp someuser@myhost.com:/main/someuser/dira/file.txt someuser@myhost.com:/main/someuser/dirb يمكن استخدام SCP في حالةٍ أخرى لنقل الملفات من مضيفٍ إلى مضيفٍ آخر مختلف باستخدام الأمر التالي: scp user@host1.com:/onedir/file.txt user@host2.com:/otherdir تذكر أن الملفات المنقولة عبر SCP محميةٌ ومشفرةٌ مثل SSH و SFTP. صيغة الأمر SCP قبل شرح طريقة عمل الأمر SCP لنتعرف على صيغة الأمر الأساسية، وهي: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]SRC_host:]file1 ... [[user@]DEST_host:]file2 معرفتك للأمر SCP وطريقة عمله هي البداية فقط، إذ أن هناك كثيرٌ من الخيارات المختلفة للأمر SCP يمكننا الاختيار منها، وسنتعمق في هذا القسم في فهم طريقة عمله. لقطات الشاشة التالية هي للأمر SCP من طرفيةٍ على نظامي ويندوز وماك، إذ يختلف خرج الأمر بحسب نظام التشغيل. خرج الأمر ويندوز على ويندوز خرج الأمر على نظام ماك [12346BCpqrv-] 1: وهو إصدار قديم للبروتوكول، يخبر البرنامج باستخدام بروتوكول SCP بالإصدار رقم 1. 2: كما في الخيار السابق، وهو بروتوكول قديم يخبر الأمر SCP باستخدام البروتوكول بالإصدار رقم 2. 3: ينقل البيانات بين مضيفين بعيدين عبر المضيف المحلي؛ إذ ستُنقل البيانات بين المضيفين البعيدين مباشرةً وبدون هذا الخيار. يمكن استخدام هذا الخيار أيضًا لإلغاء تفعيل شريط التقدُّم. 4: يخبر هذا الخيار SCP باستخدام العناوين من نوع IPv4 فقط. 6: يخبر هذا الخيار SCP باستخدام العناوين من نوع IPv6 فقط. B: يخبر هذا الخيار SCP بعدم الاستيثاق من الجلسة من خلال سؤال المستخدم عن كلمة المرور، ويتطلب ذلك ضمنيًا أن تكون طريقة الاستيثاق المحددة غير تفاعلية. C: يفعِّل هذا الخيار ضغط الاتصال المشفر وذلك عبر تضمين الراية "C-" ضمن SSH. [c cipher-]: يحدد هذا الخيار طريقة تشفير البيانات المنقولة، إذ تُمرّر تلك الطريقة إلى جلسة SSH مباشرةً. [F ssh_config-]: يمكن باستخدام هذا الخيار تحديد ملف ضبط SSH خاص لكل مستخدم، ويُرسل إلى SSH مباشرةً. [i dentity_file-]: يسمح هذا الخيار بتحديد المعرّف (المفتاح) للاستيثاق RSA، ويُمرَّر إلى SSH مباشرةً. [I limit-]: يحدد هذا الخيار السقف الأعلى لعرض الحزمة المستخدم بالوحدة كيلوبت بالثانية Kbps. [o sshoption-]: يمكن تطبيق هذا الخيار لتمرير الخيارات إلى SSH باستخدام نفس صيغة sshconfig. ويُفضَّل تمرير الخيارات التي لا يوجد لها خيارٌ مماثلٌ ضمن خيارات الأمر SCP. بعض الخيارات المتاحة: AddressFamily: يمكن لهذا الخيار إعداد متطلبات العنوان IP، بحيث يمكن أن تكون عائلة العناوين إما IPv4، أو IPv6. Batch-mode: يمكننا استخدام هذا الخيار لتعطيل كل الاستعلامات عن مُدخلاتٍ من المستخدم، أي ستصبح طرق الاستيثاق التفاعلية مع المستخدم غير مدعومة عند تطبيق هذا الخيار. المعاملات المسموحة لهذا الخيار هي "yes" أو "no"، والقيمة الافتراضية هي "no". BindAddress: يمكننا من خلال هذا الخيار استخدام العنوان المحدد على الجهاز المحلي مثل عنوان مصدر، إذ يفيد هذا الخيار فقط في حال كان النظام يملك عدة عناوين. يفضل إبقاء هذا العنوان معطلًا في حال تفعيل "UsePrivilegedPort". CheckHostIP: عند تعيين قيمته إلى "yes" (وهي القيمة الافتراضية)، سيتحقق SSH من وجود عنوان IP للمضيف ضمن ملف known_hosts، وبهذا يتمكن SSH من التحقق فيما إذا جرى أي تعديلٍ لمفتاح المضيف في حالة وجود انتحالٍ لخادم DNS، ولن يحدث هذا التحقق في حال كانت القيمة "no". Ciphers: يحدد هذا الخيار عدة خوارزميات تشفير مفصولٌ بينها بفاصلة، ومدعومةٌ من قبل العميل، وتُستخدم طريقة التشفير الأعلى بحسب ترتيب تفضيل العميل والمدعومة من قبل الخادم للجلسة الحالية. طرق التشفير المدعومة هي: "aes128-ctr" و "aes128-cbc" و "aes192-ctr" و "aes192-cbc" و "aes256-ctr" و "aes256-cbc" و "blowfish-cbc" و "arcfour" و "arcfour128" و "arcfour256" و "cast128-cbc" و "3des-cbc"؛ ويمكنك تعيين القيمة أيضًا إلى "none"، ولكن لن تُشفَّر البيانات بهذا الخيار، لذا لا يُفضَّل استخدام تلك القيمة لأنها لن تقدم حمايةً موثوقة. من خيارات SSH المتاحة أيضًا: Compression و CompressionLevel و ConnectionAttempts و ConnectTimeout و IdentityFile و IdentitiesOnly و KexAlgorithms وغيرها الكثير. P port- يحدّد هذا الخيار رقم المنفذ المُراد الاتصال به على المضيف البعيد. يجب التفريق بين هذا الخيار بحرف P كبير وخيار بحرف p صغير مختلف آخر. p- يسمح هذا الخيار بالحفاظ على خصائص الملف الأصلي، مثل أوقات الوصول، وأوقات التعديلات، والأوضاع modes. q- يمكن استخدام هذا الخيار لإلغاء تفعيل شريط التقدم. r- يمكن استخدام الخيار لنسخ كل المجلدات الفرعية. S program- يحدد هذا الخيار البرنامج المُستخدم للاتصال المشفر، ومن الضروري أن يكون البرنامج المُحدّد قادرًا على فهم خيارات SSH. v- يفعِّل هذا الخيار وضع الإسهاب verbose، الذي يجبر الأوامر SCP و SSH على إظهار رسائل التصحيح عن تقدم العملية، إذ تفيد تلك الرسائل خلال عملية تحديد مشاكل الاتصال، أو مشاكل الإعدادات الخاطئة. أمثلة عن الأمر SCP سنذكر بعض الأمثلة عن استخدامات أمر SCP لمزيدٍ من التوضيح والفهم. تذكر بأن صيغة عنوان الملف تكون دائما كما يلي: [user@host]host[:port][/path/file] ينسخ الأمر التالي مثلًا الملف file.txt إلى المضيف البعيد "example.computeruser.com"، بحيث يكون اسم المستخدم الذي المُستخدم لتسجيل الدخول هو "user" على النحو التالي: scp file.txt user@example.computeruser.com:file.txt بينما ينسخ الأمر التالي كل الملفات ضمن المجلد "main/hope/" على المضيف البعيد "remotehost.com" إلى مسار العمل المحلي. scp username@remotehost.com:/main/hope/* سينسخُ الأمر التالي كل الملفات على المجلد البعيد "main/john/documents/" على الخادم "host.com" إلى المجلد المحلي "/main/john/downloads/documents/"، وسيشمل النقل كل المجلدات الفرعية مع ملفاتها. scp -r john@host.com:/main/john/documents /main/john/downloads/documents سينسخ الأمر التالي الملف البعيد "main/john/archive.zip/" على المضيف البعيد "host.com" إلى مسار العمل المحلي، وستُهيأ العملية للمستخدم "john"، ويُحدَّد الحد الأعلى للنقل إلى 200 كيلوبت بالثانية. scp -l 200 john@host.com:/main/john/archive.zip بينما ينسخ الأمر التالي الملف البعيد "files/file.zip/" على المضيف البعيد "1sthost.com" إلى المجلد البعيد أيضًا "archives/" على الخادم "2ndhost.com"، إذ سيُطلب إدخال كلمات المرور لكلٍ من الحسابات "john@1sthost.com" و "robert@2ndhost.com" على التوالي، وستُنقل الملفات مباشرةً بين المضيفين البعيدين. scp john@1sthost.com:/files/file.zip robert@2ndhost.com:/archives يشبه الأمر الأخير الأمر السابق، ولكن عوضًا عن نقل الملفات مباشرةً بين المضيفين البعيدين، ستُنقل الملفات عبر المضيف المحلي بينهما. scp -3 john@1sthost.com:/files/file.zip robert@2ndhost.com:/archives خلاصة يُعدّ الأمر SCP بسيطًا لكنه قوي، إذ يوفّر نقلًا آمنًا للملفات بين المضيف المحلي والبعيد، وهو يشبه SFTP لأنه يعمل ضمن طبقة الجلسة ويستخدم المنفذ رقم 22. الأمر SCP مبنيٌ على SSH وهو آمنٌ للغاية؛ فعلى عكس SFTP لا يمكن للأمر SCP عرض قائمة بالملفات الموجودة على الخادم البعيد أو حذفها؛ وعلى الرغم من عدم امتلاكه لتلك الميزة، لكنه يتميز بسرعة نقلٍ أعلى بكثير من SFTP. يفيد هذا الأمر المستخدمين الذين يتعاملون مع بروتوكول SSH كثيرًا، ويوفر سرعة في النقل دون الحاجة للاهتمام بإدارة الخادم البعيد. ترجمة -وبتصرف- للمقال "SCP – What is Secure Copy Protocol – Definition & Example" لصاحبه Marc Wilson. اقرأ أيضًا كيف تستخدم الأمر scp لتأمين نسخ الملفات بين الخواديم ضبط إعدادات خدمة SSH على خادوم لينكس استخدام FileZilla لتبادل الملفات الآمن مع الخادم
  11. المخطط التدفقي صحيح، والهدف من البرنامج حساب العاملي Factorial لعدد يتم إدخاله، بما أن عملية الضرب تبديلية فكلا المثالين متساويين: 6 × 5 × 4 × 3 × 2 × 1 = 1 × 2 × 3 × 4 × 5 × 6 فلا مشكلة في البدء من الرقم الذي أدخله المستخدم إلى الواحد، أو من الواحد إلى الرقم المطلوب، لكن يوجد ملاحظة هامة وهي توحيد أسماء المتغيرات ضمن المخطط والالتزام بشكل واحد منها، مثلًا فقط استخدم الكلمات التالية Num - Counter - Factorial أيضًا لم تعالج حالة إدخال المستخدم لعدد أصغر أو يساوي الصفر
  12. في حال وجدت لديك خبرة كافية في التعامل مع جافاسكريبت نتيجة إكمالك لدورة تطوير الواجهات الأمامية ستجد سهولة أكبر في البدء في تطوير التطبيقات باستخدام لغة JavaScript، في حال أردت تعلم لغة جديدة إضافية فدورة تطوير تطبيقات الويب باستخدام لغة PHP ستمنحك مهارة جيدة في تطوير النظم الخلفية Back-end باستخدام PHP وإطار لارافل، وستسفيد حينها من خبرتك في تطوير الواجهات الأمامية باستخدام HTML و CSS وجافاسكريبت في تطوير تطبيقات كاملة Full-stack من النظام الخلفي للتطبيق نهاية بالواجهة الأمامية، الخيار يبقى لك ولا يوجد الأفضل لكل من الدورتين مجالاتها والمهارات التي ستكتسبها من خلالها،
  13. يرجى استبدال الملفات المرفقة بمحتوياتها، يجب إرفاق الشيفرة المتعلقة بالمشكلة بشكل نصي ضمن السؤال حتى تحصل على إجابة وحل للمشكلة
  14. يمكنك بعد الاستعلام عن قائمة العناصر المراد إضافة معالج الحدث click لها، المرور على عناصرها كمصفوفة عادية وإضافة تابع لمعالجة الحدث، ضمن التابع الكلمة this ستشير إلى العنصر الحالي الذي تلقى الحدث، كالتالي: // 01 - استعلام عن العناصر var tags = document.querySelectorAll('[data-gh="go"]'); // 02 - المرور على العناصر tags.forEach(function (button) { // 03 - إضافة معالج الحدث button.addEventListener("click", function () { document.getElementById(this.dataset.id).style.display = "block"; }) ^^^^ }); أو يمكنك أيضًا الإشارة إلى العنصر فورًا من داخل الحلقة كالتالي: tags.forEach(function (button) { button.addEventListener("click", function () { document.getElementById(button.dataset.id).style.display = "block"; }) ^^^^^^ }); الطريقة الأولى مفيدة في حال أردت تعريف تابع المعالجة في مكان منفصل، لذا نستخدم this للإشارة إلى العنصر الذي تلقى الحدث، كالتالي: tags.forEach((button) => button.addEventListener("click", handleClickEvent)); function handleClickEvent() { document.getElementById(this.dataset.id).style.display = "block"; }
  15. يمكنك تحديد الصنف الذي تريد استدعاء التابع الباني له من داخل أحد أصنافه الفرعية عبر ذكر اسم الصنف واستدعاء التابع construct__ كما لو كنا نستدعي تابعًا ثابتًا كالتالي: class Son extends Father { public function __construct() { GrandFather::__construct(); } } فقط في حالة كنت تريد استدعاء التابع الباني للأب مباشرة (وهو أشيع أستخدام) أي Father يمكنك استخدام الكلمة parent كالتالي: class Son extends Father { public function __construct() { parent::__construct(); // استدعاء التابع الباني للأب المباشر } } احتياجك لهذه الطريقة أي تجاوزك للتابع الباني للأب قد يشير إلى وجود مشكلة في التصميم، في حال كانت الأصناف ملكك ويمكنك إعادة تصميمها فكر في ذلك، يمكنك الاستفادة من قراءة المقال التالي للتعرف على الإمكانات المتوفرة في لغة PHP التي تخص الوراثة وتهدد الأشكال Polymorphism لمحاولة إيجاد تصميم بديل للتصميم الحالي:
  16. لكل منهما وظيفة يتميز بها، بشكل عام الفرق بينهما كالتالي: Flex: تستخدم لتنسيق تموضع العناصر معًا على نفس المحور، أي بشكل أفقي أو بشكل عمودي Grid: تستخدم لتنسيق تموضع العناصر على بعدين أفقي وعمودي معًا، حيث يمكن تحديد مساحات معينة تضع فيها عنصر ما في حال كان المطلوب هو تنسيق عدة عناصر على الصفحة كاملة، Grid تعد الخيار الأنسب، أما في حال كانت العناصر بسيطة ومطلوب تنسيقها على محور واحد Flex تكون مناسبة في هذه الحالة، يمكنك الاستفادة من قراءة المقالات التالية:
  17. يمكن استخدام التعابير النمطية Regular Expressions في تحديد مطابقة نص كلمة السر مع النمط المطلوب للتطبيق، يمكن استخدام A-Z لمطابقة أي محارف كبيرة ضمن النص، واستخدام التابع preg_match لتطبيق التعبير على نص كلمة السر كالتالي: <? $password = ...; $pattern = "/[A-Z]/i"; if(preg_match($pattern, $passowrd)){ // كلمة السر تحوي على حرف كبير على الأقل } else{ // كلمة السر لا تطابق الشرط } يمكن الاستفادة من قراءة المقال التالي لمعرفة كيف يتم استخدام التعابير النمطية في PHP:
  18. يمكنك الاستفادة من قسم الثامن "إنشاء مشروع Firebase وربطه بالمشروع" من المقال التالي وتجاهل الأمور المتعلقة ب Angular وفقط عملية إنشاء قاعدة بيانات جديدة ضمن Firebase هي ما يهمك: وقسم "إضافة إعدادات Firebase إلى التطبيق" من المقال التالي، واختر نوع التطبيق أندرويد ضمن Firebase ليظهر لك إعداداته:
  19. كما ذكرت لك، يجب أن تملك الخبرة في إعداد قاعدة بيانات Firebase خاصة بك جديدة، وتحميل ملف google-services.json منها واستبدال الموجود ضمن الملفات المصدرية به ثم إعادة بناء تطبيق جديد يحوي مفاتيح سليمة تمكن التطبيق من الاستعلام وتخزين البيانات ضمن قاعدة Firebase الخاصة بك
  20. الملفات المصدرية موجودة ضمن المجلد Authendance، والمفاتيح موجودة ضمن الملف Authendance/app/google-services.json التطبيق يعتمد على Firebase لذا يجب إعداد قاعدة بيانات Firebase خاصة بك واستبدال هذا الملف بالملف الخاص بقاعدة بياناتك ثم بناء تطبيق جديد من الملفات المصدرية بعد التعديل لتستطيع العمل على التطبيق بشكل سليم
  21. الخطأ يخبرك بعدم توفير مفتاح صالح للواجهة البرمجية API التي يتعامل معها التطبيق، التي يتم إليها إرسال عنوان البريد الإلكتروني وكلمة المرور، راجع توثيق التطبيق قد يكون موضح كيفية الاشتراك وتوليد مفتاح API جديد خاص بك وطريقة وضعه داخل التطبيق، إذا كنت قد حملته من Github يعني أنه مفتوح المصدر، ويجب تحميل الملفات المصدرية للتطبيق والتعديل عليها (كإضافة المفتاح API الخاص بك) وتوليد تطبيق جديد يمكنك استخدامه
  22. ليس فقط في الأصناف Classes، بما أن الأصناف مبنية فوق الكائنات Objects فالخواص يمكن استخدامها ضمن الكائنات أيضًا، get و set يمكنهما الربط بين خاصية ضمن الكائن (أو الصنف) مع تابع يتم تنفيذه عن كل وصول إلى الخاصية أو كل تعيين لقيمة جديدة للخاصية، لنأخذ المثال التالي كائن يعبر عن شخص: const person = { firstName: 'Emad', lastName: 'Saif', fullName: 'Emad Saif' } خاصية الاسم الكامل fullName بدلًا من كتابتها بشكل ثابت ضمن الكائن ما قد يعرضنا لأخطاء في ذلك أو نسيان لتعيينها، يمكننا حساب تلك الخاصية من الخاصيتين firstName و lastName في كل مرة نحاول الحصول على قيمة الخاصية، هنا نستفيد من get عبر ربط الخاصية بتابع يعيد قيمة الخاصية، ينفذه جافاسكريبت تلقائيًا في كل مرة نحاول الوصول للخاصية، يصبح الكائن كالتالي: const person = { firstName: 'Emad', lastName: 'Saif', get fullName(){ // نحسب ونعيد قيمة الخاصية return this.firstName + ' ' + this.lastName; } } console.log(person.fullName) // 'Emad Saif' بنفس المبدأ يمكن استخدام الخاصية set لتعيين قيمة خاصية ما ديناميكيًا عبر استدعاء تابع وتغيير قيم الخواص من داخل التابع، في مثالنا يمكننا تعيين قيمة fullName مباشرة وداخلها نقوم بتغيير الاسم الأول والكنية كالتالي: const person = { firstName: 'Emad', lastName: 'Saif', get fullName(){ return this.firstName + ' ' + this.lastName; }, set fullName(value){ const [firstName, lastName] = value.split(' '); this.firstName = firstName; this.lastName = lastName }, } person.fullName = 'Bilal Hasan'; console.log(person.firstName) // 'Bilal' console.log(person.lastName) // 'Hasan' بنفس المبدأ يمكننا تغيير صيغة التعريف من كائن إلى صنف ليصبح المثال كالتالي: class Person { constructor(firstName, lastName) { this.firstName = firstName; this.lastName = lastName } get fullName(){ return this.firstName + ' ' + this.lastName; } set fullName(value){ const [firstName, lastName] = value.split(' '); this.firstName = firstName; this.lastName = lastName } } const person = new Person('Emad', 'Saif') // get console.log(person.fullName) // 'Emad Saif' // set person.fullName = 'Bilal Hasan'; console.log(person.firstName) // Bilal console.log(person.lastName) // Hasan يمكنك الاستفادة من قراءة المقال التالي:
  23. قبل وجود خدمة Active Directory كان عليك إذا احتجت الوصول لملفٍ مُشاركٍ على الشبكة أن تعرف اسم أو عنوان IP للخادم الذي يحتويه ومسار الملف واسمه؛ وقد يفي هذا الحل بالغرض ضمن الشبكات الصغيرة، لكنه لا يبقى حلًا عمليًا يمكن توسيعه مع نمو حجم الشبكة. تساعد اليوم خدمة AD في حل هذه المشكلة من خلال تعيين كل أسماء موارد الشبكة، مثل الملفات والمجلدات والطابعات والخوادم المُشاركة وغيرها إلى عناوينها، وتلعب اليوم خدمة الدليل مثل خدمة Active Directory دورًا مهمًا في الشبكات الكبيرة، مثل شبكات المنظمات أو الشركات، إذ تدعم خدمة AD جميع العمليات والتطبيقات الهامة تقريبًا، مثل إضافة وإزالة الموارد وتخطيط السعة والأمان وخدمات الشبكة وإدارة الموارد وغيرها. سنستعرض في هذا المقال قائمةً بالمصطلحات والمفاهيم الأساسية في عالم خدمة Active Directory، إذ ستساعدك هذه القائمة إذا كنت مبتدئًا في فهم المفاهيم الأساسية في هذا المجال. أساسيات خدمة Active Directory خدمة الدليل Directory خدمة الدليل هي مخزنٌ للمعلومات، مبنيٌ بهيكلٍ هرمي، يتيح إمكانية التخزين والبحث وإدارة الموارد بصورةٍ سريعة ضمن الشبكة، ويُعد كل موردٍ ضمن الشبكة كائنًا. من المهم الانتباه أن خدمة الدليل أكثر من مجرد قاعدةٍ للبيانات، فهي "خدمةٌ" كما يدل اسمها؛ بينما قاعدة البيانات هي مخزن معلومات فيزيائي يمكن الوصول إليه وتخزينه ضمن نظام جهاز الحاسوب؛ وتستخدم خدمة الدليل قاعدة البيانات للطلب والحصول على معلوماتٍ عن الكائن. خدمة Active Directory خدمة Active Directory -أو اختصارًا AD-، ويُطلق عليها أحيانًا الدليل النشط هي خدمة دليل لشبكات نطاق ويندوز، حيث تأتي ضمن أي خادم ويندوز مثبَّت عليه دور خدمات نطاق الدليل النشط Active Directory Domain Services -أو اختصارًا AD DS. يُستخدم AD بالأساس لتخزين وإعطاء الأذونات وإدارة معلومات عن المستخدمين ومواردهم، ويمكن له تخزين تلك المعلومات مثل كائنات، إذ يُعد الكائن موردًا ضمن الشبكة، مثل حسابات المستخدم وكلمات المرور وأجهزة الحاسوب والتطبيقات والطابعات، إضافةَ إلى مشاركات الملفات أو المجلدات ومجموعات الأمان وأذوناتها. أما متحكم نطاق ويندوز Domain Controller -أو اختصارًا DC-، فهو خادمٌ يلعب دور خدمات نطاق الدليل النشط AD DS ويمثِّل البرمجية أو العتاد الذي يوفِّر مجموعة خدمات AD، إذ أن الوظيفة الأساسية لمتحكم النطاق هي الاستيثاق والتحقُّق من كل المستخدمين ومواردهم ضمن نطاق شبكة ويندوز. يُعد تسجيل دخول المستخدم إلى جهاز حاسوب يمثِّل جزءًا من نطاق ويندوز أفضل مثال حول AD، إذ يتحقق AD عندها من الاعتماديات المُدخلة مع تلك المُخزنة ضمن قاعدة البيانات، وفي حال صحة اسم المستخدم وكلمة المرور يتمكَّن المستخدم من تسجيل دخوله إلى ذلك الجهاز. دورة علوم الحاسوب دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب اشترك الآن البروتوكول الخفيف للوصول إلى الدليل LDAP البروتوكول الخفيف للوصول إلى الدليل Lightweight Directory Access Protocol -أو اختصارًا LDAP-، هو بروتوكول مفتوح ومتعدد المصنعين، ويُستخدم للوصول إلى خدمات الدليل واستيثاقها، كما يوفِّر صيغةً للتطبيقات والأنظمة للتفاعل مع خدمات الدليل، أي يوفرطريقةً للتواصل مع خدمة الدليل. يستخدم Active Directory بروتوكول LDAP بالإصدارين 2 و 3 مثل بروتوكولاتٍ للوصول، إذ يوفِّر LDAP الاستيثاق من خلال نموذج خادم / عميل، ويعمل فوق حزمة بروتوكولات الانترنت TCP/IP، ويدعم استيثاق Kerberos وطبقة الاستيثاق والحماية البسيطة Simple Authentication Security Layer -أو اختصارًا SASL-. خدمات ويب Active Directory قُدّمت خدمات ويب خدمة Active Directory، أو Active Directory Web Services، -أو اختصارًا ADWS- لأول مرةٍ مع نسخة ويندوز 2008 R2، فهي تسمح بالإدارة من بعيد لأي نطاقات Active Directory محلية وخدمات الدليل الخفيفة ضمن Active Directory، أو Active Directory Lightweight Directory Services، -أو اختصارًا ADLDS-، ونُسخٌ لأداة تثبيت قاعدة بيانات Active Directory. يستخدم ADWS بروتوكول WS على المنفذ رقم 9389 وهو غير مرتبط بمنافذ بروتوكول HTTP، مثل المنفذ 80، أو 443. وكيل نظام الدليل DSA تتألف نسخة Active Directory من قاعدة بياناتها وبرنامج يدعى وكيل نظام الدليل Directory System Agent، -أو اختصارًا DSA-، إذ يتألف هذا البرنامج من مجموعةٍ من الخدمات والعمليات التي تتيح الوصول لمخزن البيانات الذي يطلبه بروتوكول LDAP، وهو المسؤول عن إتاحة الوصول لقسم من الدليل الذي يطلبه وكيل مستخدم الدليل. بنية خدمة Active Directory تنظِّم خدمة Active Directory كل موارد الشبكة ضمن بنيةٍ منطقية، إذ يكون النموذج المنطقي هذا مستقلٌ عن البنية الفيزيائية للشبكة؛ وبمعنى آخر: لا يهتم AD بهيكلية topology الشبكة أو عدد متحكّمات النطاق فهو يشكّل الموارد ببنيةٍ منطقية، وبدلًا من العثور على المورد بواسطة مكانه الفيزيائي، يسمح AD للمستخدمين بالعثور عليه عن طريق الاسم. يسمح Active Directory بتنظيم عناصر الشبكة، مثل المستخدمين وأجهزة الحاسوب ضمن البنية الهرمية المنطقية له، إذ توجد في أعلى الهرم الغابة، وتأتي بعدها الأشجار التي تشمل نطاقًا واحدًا أو أكثر، ويوجد ضمن النطاق الوحدات التنظيمية Organizational Units -أو اختصارًا OU-. كائنات Active Directory تتشكل بنية Active Directory من خلال مجموعات معلومات تسمَّى أيضًا الكائنات، إذ يمثِّل كل كائنٍ منها عنصرًا مميزًا ضمن الشبكة، مثل مستخدمٍ أو جهاز حاسوب، ويُوصف عن طريق مجموعةٍ من الخصائص؛ فيمكن مثلًا تحديد كائن المستخدم بواسطة الاسم والمعرّف والعنوان ورقم الهاتف وغيرها من الخصائص. يمكن تقسيم تلك الكائنات ضمن فئتين: موارد، إذ يمكن أن تكون الكائنات ضمن هذه الفئة طابعات، أو أجهزة حاسوب، أو أجهزة مشتركة. مبادئ أمان، إذ يمكن أن تكون الكائنات ضمن هذه الفئة مستخدمين، أو كلمات مرور، أو مجموعات، أو غيرها، أو أي كائنٍ يحتاج استيثاقًا أو يمكن إعطاؤه أذونات. يحجز AD معرّف أمان Security Identifier -أو اختصارًا SID- فريد لكل كائنٍ من كائنات مبادئ الأمان، إذ يُستخدم SID للسماح أو منع وصول الكائن للموارد ضمن النطاق. الكائنات المدعومة افتراضيا في خدمة Active Directory هي: المستخدمون Users: وهم الكائنات المُسندة للأفراد الذين هم بحاجة للوصول لموارد النطاق، إذ يمتلك حساب المستخدم اسم مستخدم وكلمة مرور. أجهزة الحاسوب Computers: والتي تُمثِّل منصة عمل أو خادم ضمن النطاق. جهات الاتصال Contacts: تحوي معلومات عن جهات اتصال خارجية، ولا يمتلك هذا الكائن SID لذا فهو لا ينتمي للنطاق. المجموعات Groups: تمثِّل هذه الكائنات مجموعةً من حسابات المستخدمين أو أجهزة الحاسوب أو جهات الاتصال، ويوجد منها نوعان، هما مجموعات الأمان ومجموعات التوزيع، إذ تسهِّل المجموعات إدارة عدة كائنات معًا ضمن وحدةٍ مفردة. المجلد المُشارك Shared folder: يُعيَّن هذا الكائن لمشاركة الخادم ويُستخدم لمشاركة الملفات على كامل الشبكة. الطابعات Printer: يمثِّل هذا الكائن طابعةً مشتركةً ضمن النطاق. الوحدات التنظيمية OU: يمثِّل هذا النوع من الكائنات حاويةً يمكن أن تتضمن كائناتٍ أخرى، مثل المستخدمين وأجهزة الحاسوب والمجموعات من نفس النطاق؛ وتُستخدم OU لتخزين الكائنات المتشابهة معًا لتسهيل إدارتها؛ كما تُستخدم أيضًا لتطبيق إعدادات سياسات المجموعة والأذونات على كامل الحاوية. الفرق بين الوحدات التنظيمية والمجموعات من الضروري التأكيد على الفروقات بين مجموعات الكائنات والوحدات التنظيمية OU، إذ صُمِّمت المجموعات للسماح أو لمنع الوصول للموارد؛ أما الهدف الأساسي من OU فهو التحكم بالكائن من خلال سياسة المجموعة Group Policy -أو اختصارًا GPO-، أو الأذونات؛ لكن هناك فرقٌ آخر وهو استخدام المجموعات معرّفات SID، بينما OU لا تستخدمها، إذ لا يمكن وضعها ضمن المجموعة. خصائص تسمية المستخدم يمكن تحسين الأمان ضمن خدمة Active Directory من خلال مجموعة من خصائص التسمية للمستخدم التي تساعد في تعريف كائنات المستخدم، مثل اسم تسجيل الدخول، أو المعرّف ID. نوضح فيما يلي بعضًا من خصائص التسمية الهامة ضمن خدمة AD: UserPrincipalName -أو اختصارًا UPN-: وهو اسم تسجيل الدخول الأساسي للمستخدم، إذ يُستخدم عادةً عنوان البريد الإلكتروني للمستخدم قيمةً له. ObjectGUID: وهو معرّفٌ مميزٌ للمستخدم، إذ لا يتغير اسم الخاصية ObjectGUID ضمن خدمة AD ويبقى مميزًا حتى لو أُزيل المستخدم. SAMAccountName: وهو اسم تسجيل دخول يدعم الإصدارات السابقة لعملاء وخوادم ويندوز. ObjectSID: وهو معرّف الأمان للمستخدم SID، إذ تُستخدم هذه الخاصية لتعريف المستخدم وعضويته في المجموعة خلال التعاملات الأمنية مع الخادم. SIDHistory: تمثِّل الخاصية معرّفات الأمان SIDs السابقة للمستخدم. النطاقات تمثل النطاقات الوحدات البنيوية الأساسية ضمن خدمة Active Directory، وهي مجموعةٌ من الكائنات تشكِّلها قاعدة البيانات باستخدام معلومات المعرف ID للكائن، ويمكن لنطاق خدمة AD أن يحتوي على عِدّة نطاقات فرعية تُسمى أيضًا نطاقات الأبناء. يستخدم النطاق نموذج الاتصال خادم - عميل، إذ يوفِّر هذا النموذج الأمان بحيث يمكن تعيين الأذونات من النطاق (الخادم) إلى مختلف المستخدمين والمجموعات (العملاء)، ويستخدم متحكم النطاق خدمات الأمان التي توفِّر الاستيثاق والتحقُّق لموردٍ معين. صفات شائعة لنطاق AD: تكوِّن مجموعةٌ من النطاقات شجرة. يمكن إعداد سياسة المجموعة لكامل النطاق، لكنها تُطبَّق عادةً على وحدة تنظيمية OU. يمكن تعريف نطاق AD من خلال اسم خادم، أو اسم النطاق DNS، أو النطاق الفرعي له، وعند إعداد AD لأول مرة ستحتاج لإنشاء اسم للنطاق الجذر. وعلى سبيل المثال، يمكن أن يكون اسم نطاق خدمة Active Directory هو "ad-internal.company.com"، إذ أن الاسم "ad-internal" هو الاسم المُستخدم لنطاق AD الداخلي خاصتك، و "company.com" هو اسم مواردك الخارجية. اسم النطاق الكامل FQDN يمكن استخدام اسم النطاق الكامل Fully Qualified Domain Name -أو اختصارًا FQDN لتسمية كائنٍ ضمن النطاق؛ وهو اسمٌ مميزٌ لمضيفٍ أو جهاز حاسوب ضمن النطاق، ويتألف من اسم المضيف واسم النطاق. وعلى سبيل المثال، يكون اسم النطاق الكامل لجهاز حاسوب ضمن النطاق "sales-internal.company.com" بالاسم "WORKSTATION-040" هو "WORKSTATION-040.sales-internal.company.com". الأشجار شجرة AD هي مجموعةٌ من النطاقات ضمن شبكة Active Directory تشترك فيما بينها ببنية تسمية DNS مشتركة، وتُنشِئ الشجرة حدودًا منطقيةً بين عدّة نطاقات، إذ تُستخدم كلمة شجرة لأن لكل نطاقٍ أبٌ واحدٌ فقط، وهذا ما يشكّل بنيةً لها شكل وهرمية الشجرة، وتشكِّل مجموعةً من تلك الأشجار غابة. الغابات غابة AD هي مجموعةٌ من شجرةٍ أو أكثر من أشجار AD، وهي أعلى حاوية ضمن البنية الهرمية وتُنشئ فصلًا منطقيًا بين الأشجار، إذ تتألف من شجرةٍ واحدة بنطاقٍ واحد، أو عدة أشجار بنطاقات متعددة، وعند إنشاء أول نطاق ضمن AD يُولّد له غابةً افتراضيًا. تتشارك الأشجار ضمن الغابة بالمخطط schema نفسه، مما يعني أن كل محتويات الكائنات ستكون نفسها ضمن كل النطاقات في الغابة. ومن صفات الغابة الأخرى هي ثقة النطاقات ضمنها ببعضها افتراضيًا. المجموعات المجموعة في Active Directory هي مجموعةٌ من الكائنات، مثل المستخدمين وأجهزة الحاسوب وجهات الاتصال؛ إذ تتيح المجموعات إدارةً أسهل وأمانًا أفضل، فبدلًا من إدارة كل كائنٍ على حدى يمكن للمدير التحكم بكل الكائنات معًا؛ وتُستخدم المجموعات كثيرًا لتعيين الأذونات للكائنات ضمن النطاق. يوجد نوعان من المجموعات في AD، هما: مجموعة الأمان: تُستخدم لمنح أو منع الوصول لمواردٍ معينة ضمن النطاق. مجموعات التوزيع: تُستخدم لتوزيع البريد الإلكتروني والرسائل لكامل المجموعة، ولم تُصمم هذه المجموعة لمنح صلاحية الوصول للموارد. هل ترغب في إدارة شبكتك وحمايتها وتحديثها باستمرار؟ وظّف مهندس شبكات خبير من مستقل أضف مشروعك الآن نطاقات المجموعة يمكن تصنيف كلٍ من مجموعات الأمان والتوزيع ضمن ثلاث نطاقات scopes مجموعة، وهي: المجموعات العالمية Universal Groups، أو العامة Global، أو مجموعات النطاق المحلي Domain Local Groups؛ إذ يعرِّف نطاق المجموعة المكان الذي يمكن استخدام المجموعة فيه ضمن الشبكة؛ كما أنه المستوى الذي تصل إليه المجموعة ضمن النطاق أو الشجرة أو الغابة؛ ويمكنه أيضًا تعيين أعضاء المجموعة. المجموعات العامة: تحوي كائنات، مثل المستخدم وحسابات جهاز الحاسوب ضمن النطاق المحلي، ويمكن استخدام هذه المجموعات لمنح الوصول للكائنات المحلية إلى النطاق، أو الشجرة، أو الغابة. مجموعات النطاق المحلي: يمكن أن تحتوي على كائنات من أي نطاق، ويمكن لأعضاء المجموعة الوصول للموارد ضمن النطاق المحلي. المجموعات العالمية: تحتوي على كائنات أعضاء ضمن المجموعة من مجموعات نطاق أخرى، أو أي نطاق ضمن الشجرة، أو الغابة، ويمكن لأعضاء هذه المجموعة الوصول لأي موردٍ ضمن النطاق. مخطط Active Directory يصِف مخطط AD القواعد عن نوع صنف الكائن مع بعض الخصائص الممكن تخزينها في AD، إذ يشبه المخطط نسقًا layout يحدِّد المحتوى والبنية لأصناف الكائنات. كل كائن يُنشَأ ضمن خدمة Active Directory هو نسخةٌ من صنف الكائن، فمثلًا "كائن المستخدم User Object" هو نسخةٌ من "صنف المستخدم User Class". وعند إنشاء مستخدمٍ جديد، سيكون الكائن ضمن الصنف "User"، وسيحتاج لخصائصٍ بعضها إجباري والآخر اختياري وذلك بحسب المخطط. يتألف المخطط من عدة عناصر: أصناف كائن المخطط. خصائص المخطط. صيغ. أذونات التحكم بالوصول. المستويات الوظيفية المستويات الوظيفية ضمن Active Directory هي متحكماتٌ تحدِّد مزايا خدمات النطاق ضمن Active Directory الممكن استخدامها ضمن النطاق أو الغابة، كما تحدد أيضًا إصدار نظام خادم ويندوز الممكن تشغيله على متحكمات النطاق. يفضَّل عند نشر AD DS تحديد المستويات الوظيفية للنطاق والغابة إلى أعلى قيمة للسماح بآخر وأفضل المزايا المُتاحة ضمن Active Directory. أدوار العملية الرئيسية الوحيدة المرنة FSMO تسمح أدوار العملية الرئيسية الوحيدة المرنة Flexible Single Master Operation -أو اختصارًا FSMO- لمتحكمات النطاق Domain Controllers -أو اختصارًا DCs-، بالاستيثاق من المستخدمين وإعطائهم الأذونات دون مقاطعة؛ أي أن مسؤوليات DC للاستيثاق والتصريح منفصلةٌ إلى أدوارٍ مختلفة وموزعةٌ على عدَّة متحكمات DC، إذ يوفِّر الفصل في الأدوار هذا وجود عدة متحكمات في الخدمة في حال تعطُّل إحداها. يوجد خمسة أدوار مختلفة للعملية الرئيسية الوحيدة المرنة FSMO: المخطط الرئيس Schema Master: وهو دورٌ على مستوى المؤسسة، إذ يوجد مخططٌ رئيسٌ واحدٌ فقط ضمن كل الغابة يمكنه معالجة التغييرات على المخطط. رئيس تسمية النطاق Domain Naming Master: وهو دورٌ على مستوى المؤسسة أيضًا، إذ يوجد رئيس تسمية نطاق واحدٍ فقط مسؤولٌ عن إدارة أسماء النطاق. مُقلِّد متحكم النطاق الرئيسي Primary Domain Controller Emulator -أو اختصارًا PDC-: وهو دورٌ على مستوى النطاق، ويعالج طلبات الاستيثاق وتغييرات كلمات المرور وكائنات سياسة المجموعة، كما يتيح التوقيت الحالي. يكون متحكم النطاق DC، والذي يملك دور مُقلِّد PDC هو المتحكم صاحب أعلى سلطة ضمن النطاق. المعرّف النسبي الرئيس Relative Identifier Master: وهو دورٌ على مستوى النطاق، ومسؤولٌ عن الحفاظ على كتل SID وتعيينها لمتحكمات النطاق ضمن النطاق. رئيس البنية التحتية Infrastructure Master: وهو دورٌ على مستوى النطاق يترجم معرّفات GUID و SID و DN بين النطاقات، ويُشار إلى هذا الدور من قِبل كائناتٍ أخرى ضمن النطاقات الأخرى. سلة مهملات خدمة Active Directory وهي ميزةٌ إضافية أتت مع خادم ويندوز 2012 R2، إذ تسمح باستعادة الكائنات المحذوفة مع خصائصها؛ فإذا حذفت مثلًا حسابات المستخدمين ضمن النطاق عن طريق الخطأ، فستسمح سلة المهملات باستعادتها مع عضويتها ضمن المجموعات وأذونات الوصول الخاصة بهم وغيرها من الخصائص. متحكم النطاق للقراءة فقط RODC متحكم النطاق للقراءة فقط Read-Only Domain Controller -أو اختصارًا RODC- هو خادمٌ يخزن نسخةً للقراءة فقط من قاعدة بيانات نطاق AD، والغرض الأساسي من RODC هو زيادة الأمان الفيزيائي ضمن المكاتب الفرعية عبر الوظائف التالية: خصائص القراءة فقط. حماية خادم DNS. إدارة كلمات المرور والحماية. التفويض لدور المسؤول. مجلد SYSVOL مجلد SYSVOL هو مجلدٌ مشتركٌ ضمن كل متحكم نطاق DC يمكنه تخزين معلومات من Active Directory ونسخها إلى متحكمات النطاق، إذ يوفِّر SYSVOL المكان الذي يمكن لمتحكمات النطاق نسخ البيانات إليه بين بعضها. خدمات Active Directory توفر خدمة Active Directory عدَّة خدمات جاهزة لإدارة الهويات والأذونات والوصول لموارد الشبكة، والخدمات AD المُتاحة على خادم ويندوز 2008 وخادم ويندوز 2008 R2، هي: خدمات الشهادة Active Directory Certificate Services -أو اختصارًا AD CS-. خدمات النطاق Active Directory Domain Services -أو اختصارًا AD DS-. خدمات الاتحاد Active Directory Federation Services -أو AD FS. خدمات الدليل الخفيفة Active Directory Lightweight Directory Services -أو اختصارًا AD LDS. خدمات إدارة الأذونات Active Directory Rights Management Services -أو اختصارًا AD RMS. خدمات نطاق Active Directory تلعب خدمات نطاق AD DS الدور الأكثر شهرةً لخادم ضمن Active Directory، وهي خدمة الدليل التي توفِّر التقنية اللازمة لتخزين بيانات الدليل وإتاحة تلك البيانات، كما توفّر إدارةً لها لكل المستخدمين النهائيين. خدمات الاتحاد ضمن Active Directory تُعد خدمات الاتحاد AD FS حلًا لخدمات لإدارة الهوية؛ فهي تتيح ميزة التحكم بالوصول لتطبيقات الويب ومواقع الويب وموارد متعددة ضمن الشبكة من خلال تسجيل الدخول لمرةٍ واحدة Single-Sign-On -أو اختصارًا SSO-؛ وتوفّر المرونة عند محاولة الوصول لعدة موارد، إذ يحتاج المستخدم النهائي فقط لتذكُّر اعتماديات ما واستخدامها نفسها ضمن جميع الموارد. عندما يسجل المستخدم دخوله إلى جهاز ما، يمكن استخدام إدّعاء الاستيثاق من قِبل تطبيقات طرف ثالث نيابةً عن AD، إذ يرسل AD FS إدّعاء الاستيثاق هذا بدلًا من الاعتماديات. خدمات إدارة الأذونات ضمن Active Directory تُعد خدمات إدارة الأذونات AD RMS حلًا للتحكُّم بالوصول للبيانات وحماية المستندات، مثل رسائل البريد الإلكتروني ومستندات برامج أوفيس وصفحات الويب باستخدام التشفير، كما يمكنها تطبيق سياسات الوصول للبيانات، إذ تسمح AD RMS بمنع أو إتاحة الوصول لمستخدمين معينين وإمكانية التعديل أو القراءة فقط وتحديد بعض العمليات وغيرها. تشفِّر البرمجية أيضًا وتفك تشفير كل المحتوى الرقمي. خدمات الشهادة Active Directory تلعب خدمات شهادة AD CS دور خادمٍ يتيح للمدراء توليد وإدارة البنية التحتية للمفتاح العام Public Key Infrastructure -أو اختصارًا PKI، بما فيها الشهادات الرقمية والتواقيع. تساعدك هذه الأداة في تعيين الأدوار والسياسات لإنشاء وإدارة وتوزيع واستخدام وتخزين واسترجاع الشهادات والمفاتيح العامة؛ كما يمكنك أيضًا أتمتة عملية إنشاء وإزالة الشهادات؛ ويمكن بهذه الخدمات استخدام البيانات الحالية للهوية الموجودة ضمن Active Directory لتسجيل الشهادات الجديدة؛ إضافةً إلى تعيين سياسات المجموعة لإجبار تطبيق شهاداتٍ معينة على موارد معينة. خدمات الدليل الخفيفة ضمن Active Directory خدمات الدليل الخفيفة AD LDS هي خدمة دليل LDAP للتطبيقات، وهي خدمةٌ مستقلةٌ عن قيود النطاق في خدمات النطاق AD DS، بمعنى أنها ليست مُقيدةٌ ضمن Active Directory أو أيٍّ من نطاقاته أو غاباته، ويمكن تشغيلها على خادمٍ مستقل، كما أن الوصول إلى مخزن بياناتها وخدماتها مُتاح. خادم اسم النطاق ضمن خدمة Active Directory ترتبط وظائف Active Directory بخادم اسم النطاق Domain Name Server -أو اختصارًا DNS-. ولتشغيل أول متحكم نطاق، يجب تثبيت AD ودور DNS؛ إذ ستحتاج DNS لترجمة أسماء المضيفين إلى عناوين IP ضمن النطاق. يستخدم كل عملاء AD خادم DNS للعثور على متحكمات النطاق وتستخدمه متحكمات النطاق للتحدُّث فيما بينها. يُستخدم مجال أسماء DNS عبر الإنترنت، في حين يُستخدم مجال أسماء Active Directory ضمن الشبكة الخاصة. مناطق DNS منطقة DNS هي قسمٌ من مجال أسماء DNS، إذ يٌقسم مجال الأسماء لتسهيل الإدارة وتوفير نسخٍ متعددة. تتألف مناطق DNS من سجلات الموارد -وهي كتل من عناوين IP- ومعلومات الاسم المُستخدمة لحل استعلامات DNS. بعض أنواع الموارد الشائعة هي A و AAA و CNAME و MX و NS وغيرها. يوجد عدة أنواع من المناطق في AD أشهرها منطقة DNS المُضمَّنة في Active Directory، والأنواع الأخرى هي الأولية والثانوية والبديلة ومناطق البحث الأمامي ومناطق البحث العكسي وتبديلات المنطقة. خادم اسم النطاق الديناميكي يعيِّن خادم اسم النطاق DNS أسماء المضيفين إلى عناوين IP الخاصة بهم، بينما يعيِّن DNS الديناميكي -أو اختصارًا DDNS- الأسماء إلى عناوين IP معينة من قِبل خدمات مثل بروتوكول ضبط المضيف الديناميكي DHCP. يُحدِّث DDNS خادم DNS آليًا بالمعلومات الجديدة عند تغيُّر عنونة IP، ويستخدم ويُحدث العملاء في متحكم نطاق AD سجلات مواردهم ديناميكيًا؛ فإذا انتقل مثلًا عميلٌ من شبكة محلية LAN إلى أخرى، فسيتغير عنوان IP الخاص به، وسيضبط عندئذٍ DDNS الإعدادات ضمن DNS. سجلات الخدمة ضمن Active Directory يعرِّف سجل الخدمة Service -أو اختصارًا SRV- موقع الخوادم التي تستضيف خدماتٍ معينة؛ فعندما يحتاج عميل ضمن Active Directory تحديد مكان متحكم النطاق لخدمةٍ ما، فسيستعلم سجلات SRV ضمن DNS؛ وعند إنشاء متحكم النطاق، تُسجّل سجلات SRV الخاصة به ضمن خادم DNS. وكلاء خادم اسم النطاق الديناميكي يُعد وكلاء خادم اسم النطاق الديناميكي DNS خوادمًا تمرر استعلامات DNS للعناوين التي لا تنتمي للمنطقة أو التي لا يمكن حلّها محليًا، إذ تساعد هذه الأنواع من الخوادم في إرسال الاستعلامات الخاصة بتصفح الإنترنت أو العناوين العامة إلى DNS خارج الشبكة؛ فبدون وكيل DNS، سيضطر خادم DNS في كل مرةٍ للاستعلام من DNS الجذر عند وجود عنوانٍ غير معروف. خدمة مسح السجلات القديمة في خادم اسم النطاق الديناميكي DNS تتراكم سجلات الموارد القديمة المُضافتة من خلال DDNS أو يدويًا مع مرور الوقت، لذلك تحل خدمة مسح السجلات القديمة في DNS هذه المشكلة فتمسح تلقائيًا سجلات الموارد القديمة من قاعدة بيانات DNS. امتلك شبكة حاسوب اعتمادية وآمنة لأعمالك احصل على حلول شبكات متقدمة وسريعة بالاستعانة بأفضل خدمات الشبكات على خمسات اطلب خدمتك الآن تلميحات الجذر تلميحات الجذر Root Hints هي ملفات DNS مُخزنةٍ ضمن خادمٍ لتوفير قائمةٍ بسجلات الموارد الممكن استخدامها لحل أسماء المضيفين التي لا يمكن لخادم DNS المحلي حلُّها، إذ يحتوي ملف تلميحات الجذر أسماء وعناوين IP لخوادم DNS المسؤولة عن المنطقة الجذر؛ والفارق بينها وبين وكلاء DNS التي تساعد أيضًا في حل أسماء المضيفين الخارجية هو احتواء تلميحات الجذر قائمةٍ بخوادم الأسماء المسؤولة، بينما يحتوي وكلاء DNS فقط على قائمةٍ بخوادم DNS التي يمكنها حل الاستعلام. بروتوكول ضبط المضيف الديناميكي DHCP بروتوكول ضبط المضيف الديناميكي Dynamic Host Configuration Protocol -أو اختصارًا -DHCP-، هو بروتوكول إدارة شبكة، ويُستخدم لحجز العنوان ديناميكيًا، إذ يعتمد على خادم DHCP للإضافة والإزالة التلقائية لعناوين IP والبوابة الافتراضية Default Gateway ومعلوماتٌ أخرى عن عملاء بروتوكول ضبط المضيف الديناميكي DHCP. تعتمد خدمة Active Directory على خادم بروتوكول ضبط المضيف الديناميكي DHCP للإجابة على طلبات العملاء، فعند استخدام العميل بروتوكول DHCP للاتصال بالشبكة يرسل فورًا طلب استكشاف DHCP للعثور على الخادم، الذي يرسل بدوره عرض DHCP مع عنوان IP المتاح. نطاق بروتوكول ضبط المضيف الديناميكي DHCP هو مجالٌ من عناوين IP، مُتاحٌ للتوزيع على أجهزة الحاسوب، أو عملاء DHCP ضمن شبكةٍ فرعيةٍ محددة، ويتألف من الأجزاء التالية: مجال عناوين IP: يُعرَّف مجال نطاق بروتوكول ضبط المضيف الديناميكي DHCP بعنوان IP بداية وعنوان IP نهاية وقناع الشبكة الفرعية. عناوين IP المُستثناة IP address exclusion: يمكن -ضمن نطاق DHCP- استثناء من هم ليسوا عملاء DHCP، فمثلًا يجب استثناء جهاز حاسوب يمتلك عنوان IP ثابت ضمن النطاق لتجنُّب التعارض مع عنوانٍ آخر. مدة التأجير Lease Duration: يعرِّف هذا الجزء مدة التأجير لفئةٍ من العناوين، وهي المدة الممكن خلالها إعطاء عنوان IP لعميلٍ قبل إرجاعه إلى مجمع pool عناوين IP. إعدادات أخرى: يمكن ضمن النطاق أيضًا تعريف البوابة الافتراضية و DNS وإعدادات WINS. مجامع عناوين IP يحدد نطاق DHCP مع الاستثناءات مجمع عناوين IP، ويبدأ خادم DHCP مع نطاقه المُنشأ بتعيين عناوين IP من المجمع؛ فعندما يغادر عميل DHCP الشبكة يُرجَع عنوان IP إلى المجمع؛ وعند استنفاد المجمع، يجب توسيع مجال عناوين IP ضمنه. حجوزات بروتوكول ضبط المضيف الديناميكي DHCP يمكن إعداد خادم DHCP لحجز عناوين دائمة لعملاء محددين ضمن مجمع عناوين IP، بحيث يضمن أن عميلًا محددًا بواسطة عنوان MAC هو فقط من سيستخدمه. تساعد هذه الحجوزات في تجنُّب تعارضات عناوين IP، وتُستخدم عادةً للطابعات والخوادم وأجهزة العمل الهامة وغيرها. تصفية بروتوكول ضبط المضيف الديناميكي DHCP تُعد تصفية DHCP وظيفةً للخادم، وتُستخدم للتحكم بالوصول، إذ يمكن باستخدام هذه الميزة التصريح عن السماح أو الرفض لطلبات DHCP لعملاء محددين بواسطة عناوين MAC لهم، وتمنع بالتالي تصفية DHCP العملاء المجهولين من حجز عناوين IP ديناميكية من قِبل خادم DHCP. تجاوز الفشل في DHCP تجاوز الفشل في DHCP هي ميزةٌ ضمن خادم ويندوز 2012 تضمن تحمُّل الأخطاء وتوزيع الحمل لطلبات DHCP؛ فمثلًا عند حدوث عطلٍ لخادمٍ ضمن مجموعةٍ من خوادم DHCP تدير مجمع عناوين IP مشترك، تُؤخذ حمولة الطلبات من قِبل الخوادم الأخرى، وتتشارك جميع الخوادم حمولة طلبات عميل DHCP في توزيع الحمل مع السماح أيضًا بتحمُّل الأخطاء. استنساخ Active Directory تساعد عملية الاستنساخ ضمن Active Directory في ضمان تجانس المعلومات بين متحكمات النطاق، فإذا حدث تغيير ضمن متحكم نطاقٍ ما، تساعد طرق عملية استنساخ AD متحكمات النطاق الأخرى بمزامنة هذا التغيير فورًا. الشبكات الفرعية الشبكة الفرعية هي تقسيمٌ منطقي لشبكةٍ موصولة عادةً بواسطة موجّه router أو مُبدّل switch. تملك كل شبكة فرعية ضمن الشبكة مخطط عنونة TCP/IP مختلف، وتُستخدم الشبكة الفرعية في Active Directory من قِبل العملاء ومتحكمات النطاق لأغراض عملية تسجيل الدخول والاستنساخ، فهي تساعد متحكمات النطاق في تحديد أفضل طريقٍ بينها خلال عملية الاستنساخ. مواقع Active Directory المواقع هي كائناتٌ ضمن Active Directory تمثِّل شبكة TCP/IP فرعية أو أكثر، وهناك متحكمات نطاق معينة مع كائنات اتصال ضمن كل موقع AD، وتساعد هذه المواقع في إعداد الاستنساخ آخذةً بالحسبان إمكانية الوصول للموارد الفيزيائية للشبكة. كائن الاتصال وهو كائن AD يعمل بمثابة اتصال استنساخ بين متحكمات النطاق المصدر والوجهة ضمن الموقع، فيحدد كائن الاتصال متحكمات النطاق التي ستستنسخ من بعضها بعضًا، ويحدد جدولتها ونوع نقل الاستنساخ لها. مدقق تناسق المعرفة مدقق تناسق المعرفة Knowledge Consistency Checker -أو اختصارًا KCC- هو أداة خدمة دليل مساعدة تضمن التناسق ضمن قاعدة بيانات الدليل، إذ تعمل على كل متحكمات النطاق وتُنشئ بنية استنساخ لكل الغابة، ويمكن لعملية KCC توليد بنًى مفردةً في حال كان الاستنساخ ضمن موقع أو بين المواقع. رابط الموقع روابط الموقع ضمن Active Directory هي مساراتٌ منطقية تُنشأ لوصل المواقع وتُستخدم خلال عملية الاستنساخ، إذ يسمح رابط موقع KCC بإنشاء اتصالات بين متحكمات النطاق، ويمكن لرابط موقعٍ واحدٍ أن يمثِّل مجموعةً من المواقع التي بإمكانها التحدث فيما بينها باستخدام نفس نوع الشبكة. جسر رابط الموقع جسر رابط الموقع ضمن Active Directory هو كائن يمثل اتصالًا منطقيًا بين روابط الموقع، ويوفِّر مسار انتقال بين رابطي موقع أو أكثر غير متصلين، كما يسمح لمتحكمات النطاق غير الموصولة معًا بالاستنساخ بين بعضها. الكتالوج العام يمثّل الكتالوج العام Global Catalog -أو اختصارًا GC- خدمة مخزن بيانات لمتحكم النطاق DC، ويُدعى خادم DC الذي يعمل بدور GC بخادم الكتالوج العام، الذي يخزن نسخًا كاملةً من الكائنات ضمن دليل النطاق، ويمكنه أيضًا حفظ نسخةٍ جزئيةٍ من كل الكائنات ضمن الغابة، ويمكن للمستخدمين والتطبيقات بواسطة هذه النسخة الجزئية البحث سريعًا والعثور على الكائنات ضمن أي نطاق، إذ يوفر GC كتالوج يمكِّن المستخدمين من البحث عن الكائنات في البيئة متعددة النطاقات. التخزين المؤقت العالمي لعضوية المجموعة يُخزّن التخزين المؤقت العالمي لعضوية المجموعة Universal Group Membership Caching -أو اختصارًا UGMC- بيانات العضوية للمجموعات العالمية ضمن مخزنٍ مؤقت؛ ويفيد UGMC في حال عدم توفُّر GC، أو في حال استخدام المجموعات العالمية، مما يساعد في تخفيف استخدام حيز النطاق التراسلي للشبكة ويحسّن توقيت عملية تسجيل الدخول للمستخدم؛ كما يساعد UGMC في تخفيف حركة مرور بيانات الاستنساخ إلى أدنى حد. حركة مرور بيانات استنساخ Active Directory يمكن لحركة مرور بيانات الاستنساخ ضمن Active Directory استهلاك قسمٍ كبير من حيز النطاق التراسلي؛ إذ يُنشئ مدقق تناسق المعرفة KCC عدة بُنى استنساخ اعتمادًا على ما إذا كان الاستنساخ يحدث ضمن الموقع نفسه أو بين المواقع المتعددة. يساعد إعداد لكتالوج العام GC ضمن كل موقع على تخفيف حركة مرور بيانات الاستنساخ، ويوجد نوعان من حركة مرور البيانات تلك: استنساخ ضمن الموقع نفسه Intra-site Replication: عندما تكون متحكمات النطاق جزءًا من نفس الموقع، سيكون استنساخ قاعدة بيانات AD أسرع بكثير. استنساخ بين مواقع متعددة Inter-site Replication: وهي عندما تنتمي متحكمات النطاق إلى عدة مواقع مختلفة، ويساعد تحسين هذا النوع من الاستنساخ في تخفيف حركة مرور البيانات بين المواقع. الأمان في Active Directory بروتوكول كيربيروس Kerberos كيربيروس هو بروتوكول استيثاق يوفر أمانًا لتطبيقات الاتصالات من نوع خادم / عميل باستخدام التشفير، ويستخدم Active Directory بروتوكول Kerberos لتوفير آليات استيثاق بين الخادم والعميل، حيث يجري عملية استيثاق على المستخدمين ويتيح الوصول إلى النطاق. يوجد ثلاثة مكونات رئيسية في نظام كيربيروس، وهي: مركز توزيع المفاتيح Key Distribution Center -أو اختصارًا KDC: إذ تُعد خدمة KDC أساس خادم كيربيروس وهي التي تصدر جميع التذاكر، إذ تعمل الخدمة على كل متحكمات النطاق Active Directory؛ وعندما يصادق عميل AD خدمة KDC، فإنها تصدر تذكرةُ منح تذكرة TGT. تذكرةُ منح تذكرة Ticket Granting Ticket -أو اختصارًا TGT: وهو ملف استيثاق يحتوي على عنوان IP للمستخدم وفترة الصلاحية ومفتاح جلسة TGT. تُشفَّر TGT خلال عملية استيثاق كيربيروس. خدمة منح التذكرة Ticket Granting Service 0-أو اختصارًا TGS-: تتيح هذه الخدمة تذاكر TGT للأنظمة وتذاكر أخرى. أسماء مسؤول الخدمة اسم مسؤول الخدمة Service Principal Name -أو اختصارًا SPN- هو معرِّفٌ مميز يُستخدم ضمن عملية استيثاق كيربيروس، إذ يصل نسخة خدمة متحكم الشبكة بحساب تسجيل الدخول، ويمكن استخدامه للاستيثاق خدمات تطبيق عميل عندما عدم استخدام حساب الخدمة أو حساب المستخدم. مدير الشبكة المحلية مدير الشبكة المحلية الحديث NT LAN Manager -أو NTLM- هو بروتوكول استيثاق آخر يستخدم آلية التحدي/الاستجابة، واستُخدم كثيرًا قبل كيربيروس. على الرغم من أن مدير الشبكة المحلية لا يزال مدعومًا ضمن AD لكن خدمة كيربيروس لا تزال الخيار المفضَّل للاستيثاق. أذونات نظام الملف NTFS تُستخدم أذونات نظام الملف NT File System -أو اختصارًا NTFS- من أجل منح أو منع الوصول إلى الملفات والمجلدات على أنظمة مايكروسوفت ويندوز NT، ويمكن تطبيق أذونات NTFS على المستخدمين المحليين، أو المستخدمين ضمن الشبكة، إذ تُمنح أو تُمنع هذه الأذونات عن المستخدم خلال مرحلة تسجيل الدخول. أذونات نظام الملف NTFS هي: التحكم الكامل. التعديل. القراءة والتنفيذ. القراءة. الكتابة. أذونات المشاركة تملك أذونات المشاركة نفس وظيفة أذونات NTFS وهي منع الوصول غير المُصرّح به؛ لكن الفرق الأساسي هو أن أذونات المشاركة تدير فقط الوصول إلى الملفات والمجلدات ضمن الموارد المشتركة، ويمكن استخدام هذه الأنواع من الأذونات مع FAT و FAT32 و NTFS. أنواع أذونات المشاركة هي: القراءة. التعديل. التحكم الكامل. قوائم ويندوز للتحكم بالوصول تُعد قوائم مايكروسوفت ويندوز للتحكم بالوصول Access Control Lists -أو اختصارًا ACLs- العنصر الأساس ضمن نموذج الأمان، إذ أنها توفر عدة أذونات تساعد في التحكُّم بالوصول إلى موارد الشبكة، ويمكن ربط كل كائن ضمن أنظمة ويندوز بقائمة ACL. يوجد نوعان من قوائم التحكم بالوصول ACL في ويندوز، هما القائمة التقديرية Discretionary Access Control List -أو اختصارًا DACL- وقائمة نظام System Access Control List -أو اختصارًا SACL. تتشكل قوائم التحكم بالوصول ACL من سجلات التحكم بالوصول Access Control Entries -أو اختصارًا ACEs، وهي تعليمات للسماح أو منع الوصول لمجموعةٍ أو فردٍ إلى الموارد. يكمن الفرق الأساسي بين DACL و SACL في سجلات التحكم بالوصول ACE الخاصة بكلٍّ منهما. قوائم التحكم بالوصول التقديرية DACL: هي عدة أذونات يمكن ربطها مع كائنٍ ضمن Active Directory، إذ تحدد المستخدمين والمجموعات التي يمكنها الوصول إلى تلك الكائنات، وتحدّد أيضًا نوع الأفعال الممكن إجراؤها على الكائن. قوائم التحكم بالوصول للنظام SACL: تساعد هذه القائمة في عملية تدقيق المستخدمين والمجموعات التي تحاول الوصول لكائن AD، سواءٌ فشلت تلك المحاولة أو نجحت. سياسات كلمة المرور الدقيقة السياسات الدقيقة لكلمة المرور Fine-Grained Password Policy -أو اختصارًا FGPP- هي كائنٌ ضمن Active Directory يُستخدم لنشر كلمات المرور وسياسات قفل الحسابات لمستخدمي النطاق، ويمكن للمدراء باستخدام هذه السياسات تطبيق سياسات كلمة المرور على نطاق AD، مثل نوع المحارف المستخدمة، أو الحد الأدنى لطول كلمة المرور، أو عمر كلمة المرور. سياسة المجموعة سياسة المجموعة Group policy -أو اختصارًا GP- هي أداةٌ لمايكروسوفت ويندوز تسمح بالإدارة المركزية لمستخدم أو حسابات أجهزة الحاسوب وضبط نظام التشغيل وإعدادات المستخدم والتطبيقات، إذ تُستخدم ضمن بيئة Active Directory ويمكن استخدامها لتعيين سياسات كلمة المرور وقفل الشاشة وتحديد الوصول إلى أقسامٍ من النظام وفرض الصفحة الرئيسية، وحتى تنفيذ نصوص برمجية محددة وغيرها الكثير. معالجة سياسة المجموعة معالجة سياسة المجموعة هي عملية إرسال واستقبال السياسات، عندما تطبّق سياسات GPO -أي كائن سياسة المجموعة Group Policy Object- على أي كائن لمستخدم أو جهاز حاسوب ضمن Active Directory سترسل GP كل الإعدادات تلقائيًا لذلك الكائن، عندها سيستقبل العميل تلك الإعدادات ويضعها ضمن جهاز الحاسوب. يمكن تقسيم GPO إلى قسمين، هما إعدادات المستخدم وإعدادات جهاز الحاسوب: إعدادات المستخدم: وهي GPO التي تطبِّق إعدادات على كائنات المستخدم. إعدادات جهاز الحاسوب: وهي GPO التي تطبِّق إعدادات على كائنات جهاز الحاسوب. تتبع معالجة سياسة المجموعة تسلسلًا هرميًا بأربعة مستويات: السياسة المحلية. سياسات على مستوى الموقع. سياسات على مستوى النطاق. سياسات على مستوى الوحدة التنظيمية OU. وراثة كائن سياسة المجموعة GPO يمكن تعيين كائن سياسة المجموعة GPO محليًا، أو على المواقع أو النطاقات، أو على الوحدة التنظيمية OU، إذ تُورَّث GPO المرتبطة بكائنات افتراضيًا إلى الكائنات الأبناء لها. تسمح وراثة GPO للمسؤولين بإعداد حزمة سياسات شائعةٍ على مستوى الموقع، أو النطاق، أو الوحدة التنظيمية OU ضمن التسلسل الهرمي ذي المستويات الأربعة. يمكن كسر وراثة GPO تلك بواسطة خيار حظر الوراثة، إذ يساعد هذا الخيار المسؤولين على تغيير تصرف الوراثة ضمن النطاق أو OU. كائن سياسة المجموعة GPO القسري كائن سياسة المجموعة القسري GPO القسري أو غير الممكن تبديله، هو إعداد قسري على GPO يُمنَع إلغاؤه من قِبل GPO الأخرى، إذ يساعد هذا الإعداد في تجنُّب التضارب بين كائنات GPO مع الكائنات السابقة لها ضمن هرمية الطبقات الأربعة. محصلة مجموعة من السياسات RsoP محصلّة مجموعة من السياسات Resultant Set of Policy -أو اختصارًا RsoP- هي أداةٌ من مايكروسوفت ويندوز تبسِّط إدارة GPO وتوفِّر التخطيط للسعة، إذ تشبه RsoP تقريرًا يتضمن كل سياسات المجموعة ضمن Active Directory والمطبّقة على كل المستخدمين وأجهزة الحاسوب، كما يُظهر هذا التقرير كيف تؤثر كائنات GPO على الشبكة. تفضيلات سياسة المجموعة وهي حزمةٌ من إضافات سياسة المجموعة لتوسيع وظيفة كائنات GPO، إذ تؤمِّن هذه الإضافات تفضيلات إعدادات كائنات AD، مثل أجهزة الحاسوب والخوادم والطابعات ضمن النطاق ككل؛ ويمكن للمسؤولين باستخدام هذه الإعدادات ضبط وإدارة عددٍ موسّعٍ من أنظمة التشغيل وإعدادات التطبيقات، مثل تثبيت الطابعات وجدولة المهام وإعداد السجل وتحديد إعدادات الطاقة وضبط أذونات الملفات والمجلدات وغيرها. قوالب سياسة المجموعة الإدارية قوالب سياسة المجموعة الإدارية هي مزايا لسياسة المجموعة، وتُستخدم للإدارة المركزية للمستخدمين والأجهزة، فهي ملفاتٌ بلاحقة "ADM." أو "ADMX." تُستخدم من قِبل سياسات المجموعة لوصف مفاتيح السجل التي هي بحاجة للتحديث، ويمكن عند استخدام القوالب الإدارية تعديل أقسام الجهاز والمستخدِم ضمن السجل على أجهزة الحاسوب. طرفيات إدارة Active Directory يمكن استخدام طرفيات consoles إدارة Active Directory لعمليات التشغيل والصيانة اليومية، إذ تمتلك مايكروسوفت بعض تلك الطرفيات، في حين يكون بعضها الآخر حلول طرف ثالث تتيح إمكانيات إدارةٍ مختلفة، مثل الأتمتة والتقارير والتضمين مع خدماتٍ أخرى وغيرها. مكونات MMC تُستخدم طرفية إدارة مايكروسوفت Microsoft Management Console -أو اختصارًا MMC- لإنشاء طرفياتٍ مفتوحة يمكنها المساعدة في إدارة كل المكونات التقنية IT ضمن شبكة مايكروسوفت ويندوز، حيث تستضيف MMC المكونات Snap-ins التي هي أدوات إدارية يمكن استخدامها عبر واجهةٍ واحدة. يمكن تضمين كل أدوات مايكروسوفت الإدارية تقريبًا بمثابة مكونات MMC أي MMC Snap-ins؛ لكن MMC تدعم أيضًا بعض مكونات خارجية third-party snap-ins باستخدام واجهة برمجة التطبيقات MMC API. مستخدمو وأجهزة حاسوب خدمة Active Directory تُعد ADUC وهي اختصارٌ لمستخدمي وأجهزة حاسوب خدمة الدليل النشط Active Directory Users and Computers أشهر إضافة لإدارة AD، إذ تُستخدم لعمليات الإدارة اليومية للنطاق بما فيها الكائنات والوحدات التنظيمية OUs وخصائصها. تُثبَّت طرفية ADUC (أي dsa.msc) افتراضيًا خلال عملية تثبيت AD DS. مركز إدارة Active Directory قُدمت طرفية مركز إدارة Active Directory Administrative Center -أو اختصارًا ADAC- مع خادم ويندوز 2012، ويمكن استخدام هذه الطرفية لنشر وإدارة حسابات المستخدم وأجهزة الحاسوب والمجموعات و OUs وغيرها، وتتضمن ADAC مزايا إدارة مُحسَّنة على ADUC، مثل سلة مهملات Active Directory والسياسة الدقيقة لكلمة المرور ومستعرض تاريخ ويندوز PowerShell. نطاقات Active Directory والثقة نطاقات Active Directory والثقة هي طرفيةٌ إدارية تسمح بإدارة علاقات الثقة بين النطاقات والغابات، إذ تساعد في رفع المستويات الوظيفية للنطاق والغابة وإدارة لواحق UPN. مواقع وخدمات Active Directory تٌعد مواقع وخدمات Active Directory Sites and Services -أو اختصارًا ADSS- طرفية إضافة MMC snap-in، وتُستخدم بصورةٍ أساسية لإدارة استنساخ الموقع ومكونات أخرى، مثل كائنات البنية والشبكات الفرعية وكائنات الاتصال والكاتالوج العام والتخزين المؤقت العالمي للمجموعة. محرر واجهات خدمة Active Directory محرر واجهات Active Directory Service Interfaces Editor -أو اختصارًا ADSI Edit- هو محررٌ متقدم لكائن Active Directory، بحيث يسمح بعرض وتعديل وإزالة كائنات AD وخصائصها ضمن الغابة. يُقارن عادةً ADSI Edit مع محرر سجل ويندوز بسبب مستوى التحرير الدقيق ضمنه، إذ صُمِّمت هذه الأداة للوصول إلى البيانات غير المتاحة عادةً ضمن طرفيات مثل ADUC. المستخدمون المحليون والمجموعات المحلية المستخدمون المحليون والمجموعات المحلية هي طرفية إضافة MMC snap-in تحت إدارة جهاز الحاسوب تسمح لمسؤولي AD بإدارة وتأمين أجهزة الحاسوب المحلية، إذ تمنح إمكانية التحكُّم بالوصول للبيانات عبر عددٍ من الأذونات والحقوق للحساب المحلي، أو حساب المجموعة على جهاز الحاسوب. طرفية إضافة لبروتوكول ضبط المضيف الديناميكي DHCP وهي طرفية إضافة MMC snap-in (الملف الممثّل لها هو dhcpmgmt.msc)، تُستخدم لإدارة DHCP، وإعداد مجال عناوين IP ومدة التأجير وخادم DNS و WINS وغيرها. طرفية إضافة خادم اسم النطاق الديناميكي DNS تسمح طرفية إضافة MMC (الملف المُمثِّل لها هو dnsmgmt.msc) بإدارة إعدادات DNS، إذ يمكن إنشاء وتصفُّح وإدارة مناطق DNS وسجلات المورد. طرفية إدارة سياسة المجموعة طرفية إدارة سياسة المجموعة Group Policy Management Console -أو اختصارًا GPMC-، هي أداة MMC (الملف gpmc.msc) تسمح للمسؤولين بإدارة كائنات سياسة المجموعة GPOs من طرفية واحدة، ويمكن للمسؤولين باستخدام GPMC نشر و إدارة وعرض وتحديد المشاكل لأي تضمين لسياسة المجموعة GP. لتعلُّم المزيد عن خدمة Active Directory، فأهم مصدر يمكنك الرجوع إليه هو قاعدة المعرفة عن خدمة Active Directory من مايكروسوفت، إذ أنها المصدر الرسمي لتعلم كل شيء عن Active Directory. برمجيات طرف ثالث لمراقبة وحل مشكلات أداء AD تسمح برمجيات الطرف الثالث بتوسيع وظيفة AD باستخدام أدواتٍ، مثل SolarWinds لمراقبة التطبيق والخادم Server & Application Monitor أو اختصارًا SAM، إذ يمكنك مراقبة وحل مشاكل أداء AD وتتُّبع كل التطبيقات والخوادم وأنظمة التشغيل ضمن بنية IT التحتية؛ كما يساعد SAM في مراقبة حالة كل متحكم نطاق DC وحالة عملية استنساخ AD والعثور على المشكلات بين المواقع ومتحكمات DC. بعض مزايا SAM المدمجة: عرض تفاصيل الموقع. عرض أحداث تسجيل الدخول إلى ويندوز. تتبع عملية الاستنساخ. مراقبة DCs. تصفح أدوار FSMO. يوفر SAM بعض المزايا غير الموجودة ضمن AD، مثل لوحة معلومات سهلة الاستخدام والتقارير والتحذيرات وبعض مزايا الأتمتة. وتوضح الصورة التالية كيف يبدو SAM أثناء عملية مراقبة AD. تتيح SolarWinds برنامجًا مجانيًا يُدعى حزمة المسؤول المجانية لخدمة AD أي Admin Bundle for Active Directory، وهي برمجيةٌ خفيفةٌ تساعد في العثور على المستخدمين وأجهزة الحاسوب غير الفعالة وحذفها وإضافة المستخدمين دفعةً واحدةً ضمن AD. ترجمة -وبتصرف- للمقال "Active Directory: Guide to Terminology, Definitions & Fundamentals!" لصاحبه Jeff Parker. اقرأ أيضًا الاستيثاق الشبكي – استخدام SSSD مع Active Directory على أوبنتو
  24. جافاسكريبت تمكنك من إضافة التفاعلية إلى صفحات HTML، بتطبيق ذلك في سياق نموذج تسجيل دخول يمكنك باستخدامها تنفيذ كل أو بعض الأفكار التالية: التحقق من صحة صيغة البريد الإلكتروني التحقق من خلو كلمة السر من محارف غير مسموحة ضمن تطبيقك مثلًا التحقق من الطول الصحيح لكلمة السر تجميع القيم المدخلة من الحقول وإنشاء طلب وإرساله إلى الخادم بطريقة AJAX الاستماع إلى جواب الخادم ونشر رسائل الخطأ الواردة وعرضها ضمن الصفحة بشكل صحيح للمستخدم كما تلاحظ كل تلك العمليات هي بطرف العميل أي ضمن الصفحة فقط، وأي معلومات خارجية مثل التي في قاعدة البيانات لا يمكنك الوصول إليها من جافاسكريبت من صفحة العميل، بل هي من مهام النظام الخلفي Back-end مثل عملية التحقق من صحة كلمة السر وتطابقها،
  25. يمكنك البَدء بتعلم مبادئ React الأساسية كالمكونات ودورة حياتها وكيفية استخدامها وتخصيصها وصيغة JSX والخطافات وطريقة عملها وكيفية تقسيم التطبيق إلى عدة مكونات وتركيبها معًا، بعد ذلك سيكون لديك أساس قوي يمكنك عبره الانتقال لاستخدام مكتبة React Native الخاصة بتطوير التطبيقات الأصلية كتطبيقات الجوال، وستحتاج عندها لتعلم فقط بعض الاختلافات والمكونات الخاصة بتلك المكتبة لتبدأ بعدها بتطوير تطبيقات الجوال، يمكنك البَدء بقراءة سلسة مقالات دليل تعلم React والبدء بالمقالات التالية: بعد ذلك الاستفادة من المقالات التالية:
×
×
  • أضف...