• Simple script to convert IMCEAEX to X500 Address. $IMCEAEX = Read-Host -Prompt “Enter IMCEAEX string to convert to X500” $IMCEAEX = $IMCEAEX -replace ‘_’, ‘/’ $IMCEAEX = $IMCEAEX -replace ‘\+20’, ‘ ‘ $IMCEAEX = $IMCEAEX -replace ‘\+28’, ‘(‘ $IMCEAEX = $IMCEAEX -replace ‘\+29’, ‘)’ $IMCEAEX = $IMCEAEX -replace ‘\+2E’, ‘.’ $IMCEAEX…



  • Just passed with 800. SSRP Writes-back required P1 or P2 License Two authentication methods required for AAD admin role Does not need to register least one mobile device (more than 1 way instead of mobile) Has to be turned on before to enforce MD ATP > CAS = MD ATP PORTAL…



  • Free course https://www.fastlane.live/us_en/e-learning/microsoft-365-security-administrator-track.html Sign up and purchase the course (free) Free Practice Test https://www.examtopics.com/exams/microsoft/ms-500/ https://www.itexams.com/info/MS-500 Free Test Dumps: https://master-exam.com/Microsoft/MS-500/ MS Office Pratice Test https://www.measureup.com/ms-500-microsoft-365-security-administration.html Skills measured Implement and manage identity and access (30-35%) Implement and manage threat protection (20-25%) Implement and manage information protection (15-20%) Manage governance and compliance features in…



  • What is SAML? Security Assertion Markup Language (SAML) is an open standard federation protocol. SAML was introduced in 2001 SAML 2.0 superseded SAML in 2005 SAML protocol is used for authentication (AUTHN), and authorization (AUTHZ), and is often used for SSO (Single Sign-on) to web-based applications. The SAML specification defines three…



  • In some instances, users with client side rules may  break as they do not get touched in the migration. For any client rules that reference a specific sender/folder/etc they will normally use X500/LegacyDN to identify conditions and will stop working. There is no set limit for the amount of Inbox rules…



  • $errors = (Get-MsolContact –ObjectID <Object_ID>).Errors $errors | foreach-object {“`nService: ” + $_.ErrorDetail.Name.split(“/”)[0]; “Error Message: “+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription} $errors = (Get-MsolGroup –ObjectID <Object_ID>).Errors $errors | foreach-object {“`nService: ” + $_.ErrorDetail.Name.split(“/”)[0]; “Error Message: “+ $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription} $errors = (Get-MsolUser -UserPrincipalName “<User_ID>”).Errors $errors | foreach-object {“`nService: ” + $_.ErrorDetail.Name.split(“/”)[0]; “Error Message: ” + $_.ErrorDetail.ObjectErrors.ErrorRecord.ErrorDescription} Get-MsolUser -HasErrorsOnly…



  • $Perms = Get-ManagementRole -Cmdlet remove-remotemailbox $Perms | Foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName} Role RoleAssigneeType RoleAssigneeName —- —————- —————- Mail Recipient Creation RoleGroup Recipient Management Mail Recipient Creation RoleGroup Organization Management Get-ManagementRoleAssignment -Role “Mail Recipient Creation” get-rolegroupmember “organization management”



  • Windows Server 2008 can’t do beyond TLS 1.0. Newer versions can, but don’t have TLS 1.1 or 1.2 turned on by default. Best pratice to disable 1.0, 1.1 – mostly depreciated and not supported Check supported protocols: https://www.ssllabs.com/ssltest/index.html Turn off TLS 1.0.1.1 and SSL Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]…



  • Ensure you have a user mailbox backup prior to starting the following process as there is potential risk of data loss.  Options are to have a third party solution to perform a mailbox backup or export to PST (see new-mailboxexport cmdlet). Capture relevant information from on-premise exchange and exchange online. Grab…



  • #Load Exchange 2010 Module Add-PSSnapin Microsoft.Exchange.Management.Powershell.E2010 -ErrorAction SilentlyContinue #Setup Variables $Filename = “C:\temp\tasks\fowarding_address\export.csv” $header = “UPN,ForwardingSmtpAddress,DeliverToMailboxAndForward” $header | Out-File $Filename #Grab Data $Users = Get-Mailbox -ResultSize Unlimited -Filter { (ForwardingAddress -ne $null) -or (ForwardingSmtpAddress -ne $null) } ForEach ($User in $Users) { if ($user.ForwardingSmtpAddress -ne $null) { $forwardingSmtpAddress = $user.ForwardingSmtpAddress $DeliverToMailboxAndForward…