Skip to content

Latest commit

 

History

628 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ Microsoft PowerShell Toolkit

A curated collection of PowerShell scripts for managing Microsoft environments — tenants, mailboxes, users, groups, and more — spanning on-prem Active Directory through Exchange Online, Entra ID, and endpoint tooling.

PowerShell 5.1+ 3 Categories License Author

🧪 All scripts are provided as-is. Test in a controlled environment before deploying to production — several are tenant-wide/bulk operations.

Jump to a category 👇

🗃️ Active Directory

🆔 Entra ID

🛠️ Scripts


🗃️ Active Directory

On-prem AD attribute management and Azure AD Connect / hybrid sync tasks.

2 subfolders · 5 scripts
📁 Item 📜 Description
Azure AD Connect/ Scripts for managing Azure AD Connect / hybrid sync tasks.
Import_Users_CSV/ Bulk user import tooling driven by CSV.
Change_User_CN.ps1 Updates a user's Common Name (CN) in on-prem AD.
Export_User_Group_Info.ps1 Exports user and group membership info from AD.
Get_True_msExchHideFromAddressLists.ps1 Reports the effective msExchHideFromAddressLists value for users.
Rmv_msExch_Attrbtes.ps1 Removes legacy/orphaned Exchange (msExch*) attributes from AD objects.
Update_userInformation.ps1 Bulk-updates AD user attribute fields.

🆔 Entra ID

Tools for Exchange Online, SharePoint Online, Microsoft MFA, Purview, and Entra ID/M365 user management. Also includes a handful of scripts using legacy Entra ID cmdlets — retained for reference, superseded where possible by the modern Microsoft Graph SDK.

5 subfolders · 4 scripts
📁 Item 📜 Description
Exchange Online/ 50+ scripts across 13 categories — mailboxes, distribution lists, contacts, calendar permissions, compliance/retention, mail security, and reporting. See its dedicated README for the full breakdown.
Microsoft MFA/ MFA reporting and configuration scripts.
Purview/ Microsoft Purview compliance scripts.
SharePoint Online/ SharePoint Online administration scripts.
User Management/ Entra ID / M365 user lifecycle scripts (e.g., termed user access).
disable_user.ps1 ⚠️ Legacy — disables a user account in Entra ID.
find-e3-assignment-30-day.ps1 ⚠️ Legacy — finds users with an E3 license assignment within the last 30 days.
mail_entrpse_apps.ps1 ⚠️ Legacy — reports on mail-related enterprise app registrations.
user_photo.ps1 ⚠️ Legacy — manages/uploads user profile photos in Entra ID.

Also includes its own Quick Access README — a bookmark-bar style index of the most frequently used scripts in this category.

🛠️ Scripts

Helper scripts for RMM automation and Windows system administration.

2 subfolders
📁 Folder 📜 Description
Datto_RMM/ Scripts built for/around Datto RMM automation.
Windows_System/ General Windows system administration and OS-level tasks.

📌 Script Standards

Each script aims to follow a clean, consistent format:

  • Filename Format: verb-action-target.ps1 Example: set-password-expiration.ps1

  • Header Block:

    <#
    .SYNOPSIS     Short description of the script
    .NOTES        Contains Author, Date, Type, Version, and Links
    .LINK         Relevant links for further information
    #>

📄 License

Released under the MIT License.

About

This repository contains PowerShell scripts to allow detailed changes to the tenant, mailboxes, users, groups, and more.

Topics

Resources

Stars

11 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages