Copy365UserGroups

A script that looks at a source user in 365 and copies all 365 related groups to the destination user.

Mainly used when setting up new users based of another users access.

Add users to source and destination variables.

$source = "user@domain.com.au"
$destination = "user@domain.com.au"

Output below will be printed in terminal for live feedback and saved in C:\Logs\365Usercopy\ddMMyyyy_hhmm.log
Note: script first checks to see if the log directory is there, if not, it creates it.

Example Log Output:

[11-04-2025 14:35:37] [INFO] Source user: REDACTED@REDACTED.com.au
[11-04-2025 14:35:37] [INFO] Destination user: REDACTED@REDACTED.com.au
[11-04-2025 14:35:37] [INFO] Connecting to Exchange Online...
[11-04-2025 14:36:13] [INFO] Successfully connected to Exchange Online
[11-04-2025 14:36:14] [INFO] Retrieving source user information...
[11-04-2025 14:36:15] [INFO] Source user found: REDACTED@REDACTED.com.au (DN: CN=REDACTED,OU=REDACTED.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=AUSPR01A006,DC=PROD,DC=OUTLOOK,DC=COM)
[11-04-2025 14:36:15] [INFO] Processing Microsoft 365 Groups...
[11-04-2025 14:36:15] [INFO] Found 0 Microsoft 365 Groups for source user
[11-04-2025 14:36:15] [INFO] Processing Distribution Groups...
[11-04-2025 14:36:16] [INFO] Found 4 Distribution Groups for source user
[11-04-2025 14:36:16] [INFO] Adding REDACTED@REDACTED.com.au to distribution group: REDACTED site and office (REDACTED@REDACTED.com.au)
[11-04-2025 14:36:17] [SUCCESS] Successfully added REDACTED@REDACTED.com.au to Distribution Group: REDACTED site and office
[11-04-2025 14:36:17] [INFO] Adding REDACTED@REDACTED.com.au to distribution group: REDACTED (REDACTED@REDACTED.com.au)
[11-04-2025 14:36:17] [SUCCESS] Successfully added REDACTED@REDACTED.com.au to Distribution Group: REDACTED
[11-04-2025 14:36:17] [INFO] Adding REDACTED@REDACTED.com.au to distribution group: REDACTED (REDACTED@REDACTED.com.au)
[11-04-2025 14:36:18] [SUCCESS] Successfully added REDACTED@REDACTED.com.au to Distribution Group: REDACTED
[11-04-2025 14:36:18] [INFO] Adding REDACTED@REDACTED.com.au to distribution group: REDACTED (REDACTED@REDACTED.com.au)
[11-04-2025 14:36:18] [SUCCESS] Successfully added REDACTED@REDACTED.com.au to Distribution Group: REDACTED
[11-04-2025 14:36:18] [INFO] Processing complete
[11-04-2025 14:36:18] [INFO] SUMMARY:
[11-04-2025 14:36:18] [INFO]   Microsoft 365 Groups processed: 0
[11-04-2025 14:36:18] [INFO]   Distribution Groups processed: 4
[11-04-2025 14:36:18] [INFO] Disconnecting from Exchange Online...
[11-04-2025 14:36:18] [INFO] Disconnected from Exchange Online
[11-04-2025 14:36:18] [INFO] Script completed
[11-04-2025 14:36:18] [INFO] Log file saved to: C:\Logs\365UserCopy\365UserGroupCopy_11042025_1435.log
Description
A script that looks at a source user in 365 and copies all 365 related groups to the destination user. Mainly used when setting up new users based of another users access.
Readme 32 KiB
Languages
PowerShell 100%