Skip to the content.

Licensing

Microsoft 365 Licensing Maps - really really good site
Compare Microsoft 365 Enterprise Plan - often used to compare
Microsoft 365, Office 365, Enterprise Mobility + Security, and Windows 11 Subscriptions Comparison PDF - really good and contains lots of details about inclusions and add-ons

Compliance and Security

Microsoft Information Protection Deployment Accelerator Guide

Use Keyword Query Language to create search queries in eDiscovery - aka KeyQL (Doesn’t looks to be the same as KQL)
Use the condition builder to create search queries in eDiscovery
Keyword queries and search conditions for eDiscovery - classic eDiscovery only apparently
New Purview eDiscovery Guide: https://mslearn.cloudguides.com/guides/Get%20started%20with%20Microsoft%20Purview%20eDiscovery

More Info: Learn about eDiscovery

Search for and delete email messages
Connect to Security & Compliance PowerShell - needed to complete above.

Import-Module ExchangeOnlineManagement # Assumes its already installed
Connect-IPPSSession -UserPrincipalName myadminaccount@your-tenant-name.onmicrosoft.com
$Search=New-ComplianceSearch -Name "Remove Phishing Message" -ExchangeLocation All -ContentMatchQuery '(Received:4/13/2016..4/14/2016) AND (Subject:"Action required")'
Start-ComplianceSearch -Identity $Search.Identity
# You can also create a search in purview instead of using powershell if easier.
# ------
# Get status of search
Get-ComplianceSearch "Remove Phishing Message"
# Get more stats of search
(Get-ComplianceSearch "Remove Phishing Message").Items
Get-ComplianceSearch "Remove Phishing Message" | fl
# When ready issue one of the compliance search actions
New-ComplianceSearchAction -SearchName "Remove Phishing Message" -Purge -PurgeType SoftDelete
# OR
New-ComplianceSearchAction -SearchName "Remove Phishing Message" -Purge -PurgeType HardDelete
# Want to see its progress? Try the below. NB: The _Purge is added when you issue one of the above commands
Get-ComplianceSearchAction "Remove Phishing Message_Purge"
Disconnect-ExchangeOnline

URLs and Landing Zones

Login, Signin and App Specific URLs

Office.com
https://myapps.microsoft.com/
https://portal.office.com/myapps
https://www.office.com/login?domain_hint=myemaildomain.com
https://www.office.com/signin?domain_hint=myemaildomain.com ? I think login is better
https://www.office.com/?auth=2&home=1&username=myusername%40your-tenant-name.onmicrosoft.com&from=ShellLogo
https://admin.microsoft.com/?auth_upn=myusename%40your-tenant-name.onmicrosoft.com&source=applauncher
https://go.microsoft.com/fwlink/?LinkId=309629&tenantIdentifier=TENANTGUIDHERE

https://myapps.microsoft.com/myemaildomain.com
https://manage.windowsazure.com/myemaildomain.com - IT ONLY!
https://login.microsoftonline.com/?whr=myemaildomain.com - BEST LINK?

App Specific URLs

https://portal.office.com/onedrive - NEW Entry!
https://Your-Tenant-Name-my.sharepoint.com/_layouts/15/MyBraryFirstRun.aspx?FirstRunStage=waiting - first run of OneDrive to setup
https://www.office.com/launch/sharepoint?auth=2 - NEW 2021
https://www.office.com/launch/onedrive
https://www.office.com/launch/onenote
https://www.office.com/launch/forms
https://www.office.com/launch/word
https://www.office.com/launch/excel
https://www.office.com/launch/powerpoint
https://www.office.com/launch/onenote

https://outlook.com/myemaildomain.com\

Logout URLs

https://login.microsoftonline.com/common/oauth2/logoutsession
https://www.office.com/estslogout?ru=%2F
https://login.microsoftonline.com/logout.srf
https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=https://www.office.com/signin?domain_hint=myemaildomain.com

References

Microsoft 365 Language Settings

https://myaccount.microsoft.com/settingsandprivacy/language

Configuring Preferred Language for users

https://learn.microsoft.com/en-au/microsoft-365/troubleshoot/access-management/set-language-and-region

# Update the User's Preferred Language details. Assumes Microsoft.Graph.Users or Microsoft.Graph module is already installed.
Import-Module Microsoft.Graph.Users

Connect-MgGraph  -Scopes 'User.ReadWrite.All'

$preferredLanguage = 'en-au'
$userId = Get-MgUser -UserId user1@contoso.com
Update-MgUser -UserId $userId.Id -PreferredLanguage $preferredLanguage

Synchronized identity model

If you are using ADSync or AD Connect Sync or Entra Connect Sync or whatever the hell they are calling it now, you can’t set the above setting in M365. It must be set in AD (but I don’t think its a drop down option). Per the MS KB Above you can use this: Set-ADUser samacccountname -replace @{PreferredLanguage="en-au"} then wait for it to sync to 365

See Installing Modules in PowerShell Tips and Module Management in PowerShell Commands

Exchange Language Settings for end user via PowerShell

Set-MailboxRegionalConfiguration -Identity $upn -Language 3081 -TimeZone "AUS Eastern Standard Time" -DateFormat "d/MM/yyyy"
https://learn.microsoft.com/en-au/powershell/module/exchange/set-mailboxregionalconfiguration?view=exchange-ps

TIP

Graph may be able to do the same but I haven’t looked into it yet. For those who are keen you can look into: Update-MgUserMailboxSetting

OneDrive Language Settings for end user via Web

https://Your-Tenant-Name-my.sharepoint.com/?p=22&setting=1 and click ‘Regional Settings’

SharePoint Language Settings for end user via web

  1. Go to https://Your-Tenant-Name-my.sharepoint.com/_layouts/15/editprofile.aspx?UserSettingsProvider=dfb95e82-8132-404b-b693-25418fdac9b6
  2. Select the 3 dots next to ‘Details’
  3. Select ‘Language and Region’

TIP

If you do the Configuring Preferred Language for users, then the Exchange Language Settings for end user via PowerShell then OneDrive Language Settings for end user via web first, this one should already be done for you!

Based off https://support.microsoft.com/en-US/office/change-sharepoint-online-language-settings-0f6a477a-dcab-4462-9d0c-e3b53d138183 - this article isn’t updated for CoPilot additions/changes. You need to click the ‘You can add more profile information here.’ link. Will end up taking you to https://Your-Tenant-Name-my.sharepoint.com/_layouts/15/editprofile.aspx?UserSettingsProvider=dfb95e82-8132-404b-b693-25418fdac9b6

This can affect things like validation. Refer to Validation Tips

SharePoint or OneDrive Language Settings for enduser via PowerShell

https://pnp.github.io/script-samples/spo-set-sharepoint-regional-settings/README.html?tabs=pnpps\

https://pkbullock.com/blog/2020/the-many-ways-to-set-uk-locale-in-sharepoint/ - I think this example has a bug or two but its where the above but it gives you an idea on other options.

Refer to PnP PowerShell in SharePoint References for more info on PnPPowerShell

Pre-create a users OneDrive

https://learn.microsoft.com/en-us/powershell/module/sharepoint-online/request-spopersonalsite?view=sharepoint-ps

Import-Module Microsoft.Online.SharePoint.PowerShell
Connect-SPOService -Url https://<<YOUR_TENANT_NAME>>-admin.sharepoint.com

$emails = "user1@contoso.com", "user2@contoso.com"
Request-SPOPersonalSite -UserEmails $emails
Disconnect-SPOService

See more info about SharePoint PowerShell in SharePoint References

Force user to change password at next login

# Set user account to change password on next login. Assumes Microsoft.Graph.Users or Microsoft.Graph module is already installed.
Import-Module Microsoft.Graph.Users

Connect-MgGraph  -Scopes 'User.ReadWrite.All'
$userId = Get-MgUser -UserId "user1@contoso.com"

Update-MgUser -UserId $userid.id -PasswordProfile @{ ForceChangePasswordNextSignIn = $true }

Exchange Email Header References

https://learn.microsoft.com/en-us/defender-office-365/message-headers-eop-mdo
https://learn.microsoft.com/en-us/exchange/header-firewall-exchange-2013-help
https://learn.microsoft.com/en-us/exchange/anti-spam-stamps-exchange-2013-help

https://mha.azurewebsites.net

More Mail header info at Mail Headers

More Mail tools under Postmaster Tools in Misc Tools and Standards links under SMTP in Misc References

Exchange Room and Workspace setup tasks

Draft

This section is being thrown together very quickly given work on another page.

  1. Using Configure rooms and workspaces for Room Finder in Outlook, Create Rooms, Workspaces
  2. Create Room Lists (also in Configure rooms and workspaces for Room Finder in Outlook)
  3. Add rooms and workspaces to Room Lists
  4. Use Set-Place Exchange Command to fill in metadata about rooms.

Room Finder Requirements

For Room finder to work, the rooms/workspaces need to be in a room list, and the rooms/workspaces needs the following metadata filled in via the Set-Place command:

Ground Floor

You can put in 0 for Floor value for Ground Floor. You can have the text “Ground Floor” in Floor Label. I also think Floor can have negative numbers for basement, etc

Extra Info

You can use Set-Place command to fill in extra info like AudioDeviceName, VideoDeviceName, and others! Check out Set-Place

Finding the owner of a specifc MS Form

https://itspartlycloudy.com/2022/01/20/who-created-this-microsoft-form/
https://techcommunity.microsoft.com/discussions/microsoftforms/how-to-find-out-who-created-a-form/1325365/replies/4014059 https://techcommunity.microsoft.com/discussions/microsoftforms/how-to-find-out-who-created-a-form/1325365/replies/3050250#M10414

Network Details Upload

https://learn.microsoft.com/en-us/microsoft-365/enterprise/office-365-network-mac-perf-overview

https://learn.microsoft.com/en-au/microsoft-365/enterprise/office-365-network-mac-perf-overview#csv-import-for-lan-subnet-office-locations

  1. Download CSV
  2. Edit for accuracy, then upload.

https://connectivity.office.com/ - Microsoft 365 network connectivity test\

Also: https://learn.microsoft.com/en-us/microsoftteams/cqd-upload-tenant-building-data
Call Quality Dashboard Tenant Data Upload https://learn.microsoft.com/en-us/microsoftteams/location-based-routing-configure-network-settings - while this is more for teams calling (PSTN Voice), I’ve found it gives other parts of teams more context about issues.

There is also the Teams ‘Network Planner

DSC

https://microsoft365dsc.com/

Entra

Size

This section may become big enough that it will become its own page.

3rd Party Resources

https://entra.news/
https://entra.news/p/entra-mind-maps - entra mind map
https://github.com/merill/awesome-entra - Github awesome list for Entra
https://azuread.github.io/MSIdentityTools/
https://graphxray.merill.net/

Entra Apps

App IDs:

App Management (Secrets, Certs and Registrations):

Microsoft Entra Connect Sync

https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/whatis-azure-ad-connect-v2
https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-adsync

Syncs: https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-adsync#start-adsyncsynccycle
Force Delta Sync: Start-AdSyncSyncCycle -PolicyType Delta
Full Sync: Start-AdSyncSyncCycle -PolicyType Delta - I don’t know why but I don’t like doing full syncs from PowerShell, only from the interface.
https://techcommunity.microsoft.com/blog/itopstalkblog/powershell-basics-how-to-force-azuread-connect-to-sync/887043
https://lazyadmin.nl/it/force-azure-ad-sync-delta/

AutoUpgrade: https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-install-automatic-upgrade - contains overview and troubleshooting details - including event log events to look out for.

Azure AD Connect Upgrade Event source

If you can’t find the event log source Microsoft Entra Connect Upgrade it might be under its oldername Azure AD Connect Upgrade

https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-adsync#get-adsyncautoupgrade
Get-ADSyncAutoUpgrade
Get-ADSyncAutoUpgrade -Detail
https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-adsync#set-adsyncautoupgrade
Set-ADSyncAutoUpgrade -AutoUpgradeState Enabled
Set-ADSyncAutoUpgrade [-AutoUpgradeState] <AutoUpgradeConfigurationState> [[-SuspensionReason] <String>] [<CommonParameters>]

https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-version-history
https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-health-version-history
https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/reference-connect-version-history-archive

Microsoft Entra Cloud Sync

https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync

Microsoft Graph

https://aka.ms/GE - MS Graph Explorer

Places you will see graph references:

Setting Data Storage Location for users

# Update User's Usage Location details. Assumes Microsoft.Graph.Users or Microsoft.Graph module is already installed.
Import-Module Microsoft.Graph.Users

Connect-MgGraph  -Scopes 'User.ReadWrite.All'

$usageLocation = 'AU'
$userId = Get-MgUser -UserId user1@contoso.com
Update-MgUser -UserId $userId.Id -Usagelocation $usageLocation

See Installing Modules in PowerShell Tips and Module Management in PowerShell Commands

Diag Tools

Enterprise Version of Microsoft Support and Recovery Assistant
https://support.microsoft.com/en-au/windows/microsoft-365-troubleshooters-486d7956-6a21-4c75-bc4f-0704077c583c - NEW SARA
https://support.microsoft.com/en-au/windows/running-troubleshooters-in-get-help-23bddffd-5495-47f6-a419-7efe166bf1a8 - Other MS Troubleshooters some of which may be still useful

Microsoft 365 Message Center Archive - by . See [Misc References](/pages/misc-references.html#people) for more of his stuff.