Emad Adel Hanna

I am a Cloud Solution Architect

Emad Adel

With over 15 years of experience in IT, I am a seasoned cloud solution architect and a Microsoft Certified Trainer. I currently work at KlayyTech, a leading IT company that provides cloud services and solutions to clients across various industries.
Erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper.

  • Cairo, Egypt
  • +20-12-4892008, +20-016-3008167
  • me@emadadel.com
  • it.emadadel@hotmail.com
  • www.emadadel.com
Me

My Professional Skills

I have successfully led numerous cloud migration projects, ensuring a smooth transition from on-premises to cloud-based environments. I also have expertise in cloud security and compliance, ensuring data protection and regulatory adherence. .

Microsoft Azure 90%
Microsoft 365 95%
Amazon AWS 70%
Enterprise Architect 60%

Training Services

I give people practical skills and knowledge for the workplace. It can help and improving their skills (Azure ,AWS , Microsoft 365 and SharePoint ).

IT consultant services

Helping businesses use technology to achieve their goals. and offer expertise in areas like cloud computing, cybersecurity, and software selection, and can improve efficiency, reduce risk, and save costs..

Professional Services

As and Azure expert and microsoft 365, I provide the best services, support and advice for all things Microsoft (Microsoft migration, support, and optimisation services).

Enterprise Architect services

help organizations align their IT infrastructure with business strategy. They basically design, evaluate, and build a blueprint for how technology supports the company's goals..

0
Completed project
0
Certifications Award
0
Success Training and Sessions
Completed Consultant projects
  • فهم Azure DNS: حلول إدارة أسماء النطاق في السحابة

    في عالم الحوسبة السحابية، تُعد إدارة أسماء النطاق (DNS) عنصرًا أساسيًا لضمان الوصول السلس إلى التطبيقات والخدمات. توفر Microsoft Azure حلاً متكاملاً لإدارة أسماء النطاق من خلال خدمة Azure DNS، التي تجمع بين الأداء العالي والأمانs القوي والمرونة في التخصيص.

    ما هو Azure DNS؟

    Azure DNS هو خدمة استضافة وإدارة أسماء النطاق، تتيح لك حل أسماء النطاق إلى عناوين IP داخل بيئة Azure أو حتى من البيئات المحلية (On-Premises). بفضل تكاملها العميق مع Azure، يمكنك إدارة سجلات DNS بسهولة باستخدام نفس الأدوات والواجهات التي تستخدمها لخدمات Azure الأخرى.

    أنواع خدمات Azure DNS





    1️⃣ Azure Public DNS 🏛️ خدمة استضافة لنطاقات DNS العامة، مما يسمح لك بإدارة سجلات أسماء النطاقات العامة باستخدام نفس البنية التحتية التي توفرها Azure. هذا يضمن أداءً عاليًا، وأمانًا محسّنًا، وتكاملاً سهلاً مع خدمات Azure الأخرى.

    2️⃣ Azure Private DNS 🔒 يوفر نظام DNS خاصًا للشبكات الافتراضية داخل Azure، مما يسمح لك بإدارة الأسماء داخل بيئتك السحابية دون الحاجة إلى إعداد خادم DNS مخصص. هذا يسهل الاتصال بين موارد الشبكة داخل Azure بطريقة سلسة وآمنة.

    3️⃣ Azure DNS Private Resolver 🔄 حل يتيح لك الاستعلام عن نطاقات Azure Private DNS من بيئاتك المحلية (On-Premises) والعكس، دون الحاجة إلى نشر خوادم DNS افتراضية (VM-based DNS). هذا يسهل التكامل بين Azure والبنية التحتية الداخلية.

    4️⃣ Azure Traffic Manager 🚦 خدمة توجيه وتحميل حركة المرور تعتمد على DNS، مما يتيح لك توزيع حركة المستخدمين عبر مناطق Azure العالمية، مما يعزز الأداء والتوافر العالي للتطبيقات العامة.

    لماذا Azure DNS؟

    تكامل سهل مع Azure: إدارة السجلات باستخدام نفس واجهات Azure. ✅ أداء عالي وزمن استجابة منخفض: بفضل بنية Azure العالمية. ✅ أمان متقدم: مدعوم بتقنيات مايكروسوفت لحماية النطاقات. ✅ دعم كامل للبروتوكولات القياسية: مثل A, AAAA, CNAME, MX, TXT, و SRV.

    الخلاصة

    إذا كنت تبحث عن حل مستقر وقابل للتطوير لإدارة أسماء النطاق في Azure، فإن Azure DNS يقدم مجموعة من الخدمات التي تناسب احتياجات الشبكات العامة والخاصة، مع دعم تكامل عميق مع بيئات السحابة والهجينة.

    🚀 هل بدأت بالفعل باستخدام Azure DNS في مشاريعك؟ شاركني تجربتك في التعليقات! 👇

  • How to Prevent External Sharing on SharePoint: A Step-by-Step Guide

    How to Prevent External Sharing on SharePoint: A Step-by-Step Guide

    SharePoint is a powerful collaboration tool that allows teams to store, manage, and share files seamlessly. However, its external sharing features, while useful, can sometimes pose security risks if not properly controlled. Whether you’re protecting sensitive company data or ensuring compliance with regulations, preventing external sharing on SharePoint might be a critical step for your organization. In this guide, we’ll walk you through the process of disabling external sharing step-by-step, along with additional security best practices.

    Why Restrict External Sharing?

    Before diving into the how-to, let’s consider why you might want to disable external sharing:

    • Data Security: Prevent sensitive information from being accessed by unauthorized external parties.
    • Compliance: Meet industry standards or legal requirements (e.g., GDPR, HIPAA) that restrict data sharing.
    • Control: Maintain strict oversight over who can access your organization’s files.

    Step 1: Access the SharePoint Admin Center

    1. Log in to the Microsoft 365 Admin Center (admin.microsoft.com) using your admin credentials.
    2. From the left-hand navigation, select Show all (if needed), then click SharePoint under "Admin centers."
    3. This opens the SharePoint Admin Center, where you can control sharing settings.
    Tip: If you prefer command-line management, you can use PowerShell to modify external sharing settings efficiently.

    Step 2: Configure Tenant-Level Sharing Settings

    1. In the SharePoint Admin Center, go to Policies > Sharing in the left-hand menu.
    2. You’ll see a Sharing page with sliders and options for external sharing control.
    3. Under External sharing, adjust the settings for SharePoint:
      • Slide the bar to "Only people in your organization" (this disables all external sharing).
      • If you’re also managing OneDrive sharing, ensure its settings align with SharePoint by selecting the same option.
    4. Click Save at the bottom of the page.
    Note: Tenant-level settings override any site-specific configurations, ensuring full control over data access.

    Step 3: Restrict Sharing at the Site Collection Level (Optional)

    1. In the SharePoint Admin Center, go to Sites > Active sites.
    2. Locate the site you want to restrict (use the search bar if needed).
    3. Select the site by clicking its name or checkbox, then click Sharing in the top toolbar.
    4. In the pop-up window, set External sharing to "Only people in your organization."
    5. Click Save.
    Tip: This method allows flexibility—some sites can remain open to external sharing while others are locked down.

    Step 4: Verify Your Settings

    1. Go to a SharePoint site you’ve restricted.
    2. Click the Share button at the top-right of a document library or file.
    3. If external sharing is off, you’ll see that options to invite external users (e.g., via email links) are grayed out or unavailable.
    Troubleshooting: If external sharing is still active despite restrictions, verify that there are no existing guest user permissions that override the new settings.

    Step 5: PowerShell Method for Advanced Users

    Set-SPOTenant -SharingCapability Disabled

    To restrict external sharing for a specific site, use:

    Set-SPOSite -Identity "https://yourtenant.sharepoint.com/sites/yoursite" -SharingCapability Disabled
    Note: Ensure you have SharePoint Online Management Shell installed and the required admin privileges before running these commands.

    Step 6: Communicate with Your Team

    • Notify users about the change via email or a company announcement.
    • Provide alternatives, such as secure file transfer tools or internal collaboration spaces.
    • Offer training on secure internal collaboration methods.

    Additional Tips for Enhanced Security

    • Use Sensitivity Labels: Apply Microsoft Purview Information Protection labels.
    • Monitor Activity: Check the Audit Log in the Microsoft 365 Compliance Center.
    • Educate Users: Train your team on best practices to avoid accidental data leaks.
    • Enable Conditional Access Policies: Implement Azure AD conditional access.

    Conclusion

    Preventing external sharing on SharePoint is a straightforward process that enhances security. By following these steps, you’ll ensure that your files stay within your organization’s control. 🔒✨📁

    Have questions? Drop a comment below, and let’s keep the conversation going! 💬🔍🤝

  • Egypt Azure Community

     


    ‫🌟 🌟✨يسعدنا اعلامكم أن مجموعة "Egypt Azure Community" أصبحت الآن جزءًا رسميًا من مجتمع Azure الخاص بـ Microsoft Azure Tech‬



    ‫Groups! 🎉هذا الإنجاز يمثل خطوة مهمة‬ ‫‬‫في تعزيز التواصل والتعاون بين الخبراء والمهتمين بالتقنيات السحابية في مصر.


    ♦️ هدفنا‬‫ هو إنشاء منصة تجمع بين المبدعين والمتخصصين لمشاركة المعرفة والخبرات، واستكشاف أحدث‬

    ‫الابتكارات في عالم Azure.سنعمل على تنظيم العديد‬

    ‫من الفعاليات وورش العمل التي تهدف إلى تعزيز المهارات وتطببق أفضل الممارسات المستخدمة‬

    ‫في Azure، وتوفير بيئة تعاونية ملهمة للجميع. ‬

    ‫‬

    ‫📌 انضم إلينا الآن عبر الروابط التالية: ‬


    Telegram: https://buff.ly/3ZRTHmb

    Meetup: https://buff.ly/3PaqBJC

    YouTube: https://buff.ly/40Pazf6


    ‫🚀 دعونا نبني معًا مجتمعًا قويًا يساهم في تطوير‬

    ‫بيئة تقنية مزدهرة في مصر.‬


    #EgyptAzureCommunity #MicrosoftAzure #TechCommunity

    #CloudTechnology

  • 🚀 مستقبل Microsoft Exchange Server (on-premises): ما تحتاج لمعرفته



    إذا كنت تعتمد على Microsoft Exchange Server في إدارة البريد الإلكتروني والاتصالات داخل مؤسستك، فمن المهم أن تتابع التطورات الأخيرة التي أعلنتها مايكروسوفت. إليك نظرة سريعة على ما ينتظر Exchange Server في المستقبل:


    1️⃣ Exchange Server 2019 (الإصدار الحالي)


    ✅ الإصدار الأخير من Exchange Server المتاح حاليًا هو Exchange Server 2019.


    📅 الدعم الرئيسي مستمر حتى 14 أكتوبر 2025.


    🔒 الدعم الممتد (تحديثات الأمان فقط) حتى 14 أكتوبر 2030.


    2️⃣ Exchange Server Subscription Edition (SE) (الإصدار القادم)



    🔄 مايكروسوفت لن تطلق إصدارًا جديدًا مثل "Exchange Server 2025"، بل ستتحول إلى نموذج يعتمد على الاشتراك.


    📌 الإصدار الجديد سيكون متاحًا on-premises، لكنه يتطلب اشتراكًا نشطًا لتلقي التحديثات.


    ⏳ من المتوقع إطلاقه في أواخر عام 2025.


    🚫 لن يكون هناك إصدارات رئيسية منفصلة بعد الآن، بل تحديثات مستمرة تحت نموذج الاشتراك.


    3️⃣ أبرز التغييرات في النموذج الجديد



    ❌ نهاية الترخيص الدائم: يجب على المؤسسات الاشتراك للحصول على التحديثات.


    🔄 تحديثات أكثر تواترًا: لن تكون هناك حاجة لترقيات كاملة، بل سيتم توفير تحديثات تراكمية بانتظام.


    ☁️ تحسين التكامل مع السحابة: مايكروسوفت تعمل على تسهيل التكامل مع Exchange Online (جزء من Microsoft 365).



    4️⃣ هل تبقى on-premises أم تنتقل إلى السحابة؟



    🏢 إذا كانت لديك متطلبات صارمة تتعلق بـ الامتثال، سيادة البيانات، أو الأمان، فإن Exchange Server SE سيبقي خيار البقاء on-premises ممكنًا.


    ☁️ إذا كنت تبحث عن مرونة أكبر وتوفير في التكاليف، فإن الانتقال إلى Exchange Online (ضمن Microsoft 365) قد يكون الخيار الأفضل على المدى الطويل.



    💬 ما رأيك في هذا التغيير؟ هل ستتحول إلى نموذج الاشتراك أم تفكر في الانتقال الكامل إلى السحابة؟ شاركنا رأيك في التعليقات!


    #️⃣ #Microsoft #ExchangeServer #DigitalTransformation #CloudComputing #ITInfrastructure #EgyptAzureCommunity #EmadAdel

  • 📊 How to Get a Report of All Users and Devices Last Sign-In in Active Directory Using PowerShell 💻


    Active Directory (AD) is a critical component for IT administrators to manage users and devices in a network. 🚀 One common requirement is to generate reports on the last sign-in activity for users and devices in AD. 🔄 In this guide, I will show you how to use PowerShell to achieve this efficiently. 🔧


    📄 Prerequisites

    To follow this guide, you need:

    1. 💻 PowerShell installed on your system (version 5.1 or later).

    2. 📝 Active Directory PowerShell module installed.

    3. 🔒 Appropriate permissions to query Active Directory.


    🔢 PowerShell Commands to Get Last Sign-In Reports

    1. 👤 For Users

    The following command retrieves all users in Active Directory along with their last logon time:

    # Get all users and their last logon time
    Get-ADUser -Filter * -Property DisplayName, SamAccountName, LastLogonTimestamp |
    Select-Object DisplayName, SamAccountName, @{Name="LastLogon"; Expression={[datetime]::FromFileTime($_.LastLogonTimestamp)}} |
    Export-Csv -Path "C:\Reports\UsersLastSignIn.csv" -NoTypeInformation -Encoding UTF8
    • 🔍 What It Does:

      • Get-ADUser: Retrieves user information from AD.

      • -Filter *: Fetches all users.

      • LastLogonTimestamp: Retrieves the last logon time for each user.

      • Export-Csv: Exports the results to a CSV file for review.

    • 📈 Output: The command generates a CSV file named UsersLastSignIn.csv in the C:\Reports directory.

    2. 📚 For Devices

    Similarly, use the command below to get the last sign-in details for devices:

    # Get all computers and their last logon time
    Get-ADComputer -Filter * -Property Name, LastLogonTimestamp |
    Select-Object Name, @{Name="LastLogon"; Expression={[datetime]::FromFileTime($_.LastLogonTimestamp)}} |
    Export-Csv -Path "C:\Reports\DevicesLastSignIn.csv" -NoTypeInformation -Encoding UTF8
    • 🔍 What It Does:

      • Get-ADComputer: Retrieves computer information from AD.

      • LastLogonTimestamp: Retrieves the last logon time for each device.

      • Export-Csv: Saves the output to a CSV file named DevicesLastSignIn.csv.


    📊 Understanding the Commands

    • 🔹 LastLogonTimestamp vs. LastLogon:

      • LastLogonTimestamp: Replicated across domain controllers but may be up to 14 days old.

      • LastLogon: Real-time but requires querying all domain controllers.

    • 🔹 File Path: You can change the file path (C:\Reports\) to save the report to your preferred directory.


    🚨 Benefits of Using PowerShell

    • ⏳ Time-Saving: Automates a manual task.

    • 🎨 Customizable: You can add or remove properties as needed.

    • 📄 Portable Reports: The CSV files can be easily shared and analyzed.


    📚 Conclusion

    Using PowerShell to get reports on the last sign-in activity for users and devices in Active Directory is a straightforward and powerful approach. 🚀 These commands not only provide valuable insights but also save time by automating repetitive tasks.

    Try these commands in your environment and let me know in the comments if you have any questions or suggestions! 😊


    Tags: 🔧 PowerShell, 🔰 Active Directory, 🔒 IT Administration, 🌐 Last Logon Report, ⚙️ Automation

  • تسجيل الدخول الموحد (SSO)

     


    ♦️تسجيل الدخول الموحد (SSO): مفتاح واحد لفتح العديد من الأبواب


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


    ♦️تسجيل الدخول الموحد (Single Sign-On)، أو اختصاراً (SSO)،





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


    ♦️كيف يعمل SSO؟


    عندما تقوم بتسجيل الدخول إلى تطبيق أو موقع ويب يدعم SSO، يتم التحقق من هويتك مرة واحدة فقط. بعد ذلك، يتم منحك "رمز وصول" يسمح لك بالوصول إلى جميع التطبيقات الأخرى المتصلة بنظام SSO دون الحاجة إلى إعادة إدخال بيانات اعتمادك.


    ♦️العمليات الأساسية في SSO:


    1️⃣ التسجيل: يقوم المستخدم بتسجيل حساب واحد في نظام SSO.

    2️⃣ المصادقة: يتم التحقق من هوية المستخدم عند تسجيل الدخول الأول.

    3️⃣ إصدار رمز الوصول: بعد المصادقة بنجاح، يتم إصدار رمز وصول فريد للمستخدم.

    4️⃣ الوصول إلى التطبيقات: يستخدم المستخدم رمز الوصول للوصول إلى أي تطبيق متصل بنظام SSO.


    ♦️ فوائد SSO:


    1️⃣تحسين تجربة المستخدم: يقلل SSO من الوقت والجهد اللازمين لتسجيل الدخول إلى التطبيقات المختلفة.

    2️⃣تعزيز الأمان: يقلل من خطر اختراق الحسابات، حيث يتم تخزين بيانات اعتماد المستخدم في مكان واحد وآمن.

    3️⃣زيادة الإنتاجية: يزيد من إنتاجية المستخدمين من خلال تقليل الوقت الذي يقضونه في إدارة كلمات المرور.

    4️⃣ تسهيل إدارة المستخدمين: يتيح للمسؤولين إدارة حسابات المستخدمين بشكل مركزي.



    ♦️تحديات SSO:


    1️⃣ تعقيد التنفيذ: قد يكون تنفيذ نظام SSO معقدًا، خاصة في المؤسسات الكبيرة.

    2️⃣ اعتماد على نقطة واحدة: إذا تم اختراق نظام SSO، فإن جميع التطبيقات المتصلة به تكون معرضة للخطر.

    3️⃣ تكلفة التنفيذ: قد تتطلب تكاليف إضافية لشراء وتنفيذ نظام SSO.


    ختامًا، يعد تسجيل الدخول الموحد (SSO) حلاً فعالاً لتعزيز أمن وتجربة المستخدم في بيئات التطبيقات المتعددة. مع استمرار تطور التكنولوجيا، من المتوقع أن يزداد اعتماد الشركات والمؤسسات على SSO لتلبية احتياجات المستخدمين المتزايدة.