🏴‍☠️
Venture Next
  • Windows
    • Configuring Time Synchronization in Active Directory: NT5DS and NTP
    • Regedit Show File
    • Page 2
    • Windows CA
      • Windows CA Backup DB
      • Windows CA Failed Requests Database Cleanup
  • VMware
    • Remount iSCSI Datastore after network failure
    • Backing Up and Restoring VMware ESXi Configuration Settings
  • Proxmox
    • Page
    • Page 8
  • Networking & Security
    • Nginx
      • Nginx Proxy Manager - Install on Ubuntu
      • Nginx Proxy Manager - Adding a New Proxy Host
      • Nginx Proxy Manager - SSL Certificates with Cloudflare API and Let's Encrypt
  • Linux
    • Page 1
  • DevOps
    • Resetting GitLab EE root password in Docker
  • Miscellaneous
    • FiiO BTA30 Pro USB DAC Driver
  • Page 10
  • Page 9
  • Page 11
  • Microsoft 365
    • Create a Microsoft 365 Group Without Welcome Email
    • Turn off directory synchronization
  • Exchange
    • Exchange Server Log Cleanup
  • Set Regional Settings and Localize Mailbox Folders
  • Email Notification Banners
  • Microsoft Teams
  • MS365 Tenant to Tenant Migration
    • Page 12
      • Page 13
      • Page 14
  • Page 15
    • Page 16
    • Page 17
Powered by GitBook
On this page
  1. Microsoft 365

Create a Microsoft 365 Group Without Welcome Email

Provision a Microsoft 365 group using Microsoft Graph with welcome messages fully disabled, ideal for uses like licensing and sensitivity labels.

Connect-MgGraph -Scopes "Group.ReadWrite.All", "User.Read.All"

# Get owner ID
$OwnerId = "https://graph.microsoft.com/v1.0/users/$((Get-MgUser -UserId 'your.owner@domain.com').Id)"

# Build body with correct types
$Body = @{
    displayName             = "CORP-License-MS365BusinessPremium-01"
    mailNickname            = "corp-grp-0001"
    description             = "License and Sensitivity Label Group"
    "owners@odata.bind"     = @($OwnerId)
    groupTypes              = @("Unified")
    mailEnabled             = $true
    securityEnabled         = $true
    visibility              = "Private"
    resourceBehaviorOptions = @("WelcomeEmailDisabled")
} | ConvertTo-Json -Depth 10

# Send POST request directly to Graph
$response = Invoke-MgGraphRequest -Method POST -Uri "https://graph.microsoft.com/v1.0/groups" -Body $Body -ContentType "application/json"

# Output the group ID
$response.id

After creating the Microsoft 365 group via Microsoft Graph with WelcomeEmailDisabled, use Exchange Online PowerShell to fully hide the group from end users

Set-UnifiedGroup -Identity "CORP-License-MS365BusinessPremium-01" `
  -HiddenFromExchangeClientsEnabled $true `
  -HiddenFromAddressListsEnabled $true
Get-UnifiedGroup -Identity "CORP-License-MS365BusinessPremium-01" | Select-Object DisplayName, HiddenFromExchangeClientsEnabled, HiddenFromAddressListsEnabled

DisplayName                        HiddenFromExchangeClientsEnabled HiddenFromAddressListsEnabled
-----------                        -------------------------------- -----------------------------
CORP-License-MS365BusinessPremium-01                             True                          True
PreviousPage 11NextTurn off directory synchronization

Last updated 1 month ago