• To uninstall the existing Exchange Management modules and install the latest one, follow these steps: Uninstall the Existing Exchange Management Module Install the Latest Exchange Online Management Module Make sure that your PowerShell execution policy allows for module installation by setting it to RemoteSigned if necessary:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser These steps…



  • Code to review all mailbox email addresses and update



  • Managing Email Flows: Effective email management requires distinguishing between key types: Internal to Internal: Emails within the same domain, posing minimal risk. Internal to External: Outbound business emails subject to security checks. External to External: External emails passing through, posing potential risks. External to Internal: Incoming emails filtered through security gateways.…



  • Powershell cmd example to grab all mail attributes for AD Objects in a specific OU.



  • This script automates the generation of a report summarizing different group and mailbox types using Exchange Online and Microsoft Graph, saving the results in CSV and HTML formats. It compares current data with previous reports to highlight changes, then emails the summary with attachments. The script streamlines monitoring of group and…



  • Assumptions: Conditional Access Policies (CA) do not have sessions properties listed below enabled: Since we do not to use CA to manage sign-in frequency, refresh and session tokens will be set to the default configuration with no option to change their lifetimes. Property Policy property string Affects Default Refresh Token Max Inactive Time…



  • This script connects to Exchange Online to retrieve and analyze the last 90 days of audit logs for a specified mailbox. It processes the audit data, formats key details like timestamp, user, action, and message subjects, and generates a report. The results are displayed in a sortable grid view, helping administrators…



  • Quickly check if a user or subset of users are part of a ad group that has more than 5000 members. $adgroup = “[group]” $groupdn = (get-adgroup $adgroup).distinguishedname $members = dsget group $grouppn -members $total = foreach ($i in $members){$u = $i.trim(‘”‘); get-aduser $u | select userprincipalname} $total -like “*[unique string]*”…



  •    Quickly find out all the Distribution Groups a user is a member of with a few lines of simple PS code.  $Username = “johnsmith@hiepic.com” $DistributionGroups = Get-DistributionGroup -ResultSize unlimited | where { (Get-DistributionGroupMember -ResultSize unlimited $_.Name | foreach {$_.PrimarySmtpAddress}) -contains “$Username”} $DistributionGroups    



  • Summary: This article documents the what’s, why’s and the how’s of setting up Room Finder and Workspaces in a hybrid Office 365 Exchange Environment. The on-premise environment uses ADC with no write-back enabled. Buildings, Cities, Types, and Filters (Capacity, Floors, Features) A room list is a distribution group. A room list is a…