• Check if port (25 is used for example) is opened. curl -vv telnet://DestinationServerName:25 Example of command to send e-mail using curl. More parameters and information can be found here: https://everything.curl.dev/usingcurl/smtp curl smtp://mail.example.com –mail-from myself@example.com –mail-rcpt receiver@example.com –upload-file email.txt Creating Example.txt (using vi editor). $ vi filename.txt # vi (vee eye) editor…



  • If you havent heard already, Microsoft is taking huge steps to improve the overall security in Exchange Online and Office 365 by disabling basic authentication for legacy authentication protocols therein lies the question of “how” to prepare and shift your organization to adopting modern authentication protocols. In the second half of…



  • Try saying “new line”, “new paragraph,” “delete”, “bold that”, and “start list”. Other supported punctuation, commands, and symbols are below. Requirements – microphone access and reliable internet connection – Windwos 10+ – Office 2016+ with Office 365 subscription Supported: Word for Microsoft 365 Outlook for Microsoft 365 PowerPoint for Microsoft 365 Word for Microsoft…



  • $Mailbox = @{ ResultSize = “Unlimited” } $Filter = @{ FilterScript = {$_.PrefixString -ceq “smtp”} } $Select = @{ Property = @{Name=”First Name”;Expression={$_.DisplayName.Split(“,”)[1].Trim()}}, @{Name=”Last Name”;Expression={$_.DisplayName.Split(“,”)[0].Trim()}}, “DisplayName”, “ServerName”, “PrimarySmtpAddress”, @{Name=”EmailAddresses”;Expression={$_.EmailAddresses | Where-Object @Filter}} } Get-Mailbox @Mailbox | Select-Object @Select #Split all SMTP using comma (Get-Mailbox -ResultSize Unlimited |Select-Object DisplayName,ServerName,PrimarySmtpAddress, @{Name=“EmailAddresses”;Expression={$_.EmailAddresses |Where-Object {$_.PrefixString…



  • 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…