#
PowerShellScripting Documentation Site
A collection of PowerShell scripts for enterprise IT administration, covering Active Directory, Microsoft 365, Exchange Online, Entra ID, and Intune management tasks that i've created over the years.
#
Table of Contents
Table of Contents Script Categories Interactive Scripts
Usage Basic Usage
Scripts available Active Directory (ad) Exchange / E365 (e365) Entra ID / Azure AD (entra) General utilities (general) Intune (intune) OneDrive / SharePoint (onedrive)
Configuration Testing Logging and Troubleshooting Accessibility Contributing Changelog License Like to say thank you? Contact and Support Project Maintainer Getting Help Support Guidelines
#
Script Categories
Details of all scripts, and links to their documentation, can be found in the Scripts section below.
- Active Directory: Scripts for user and computer management in on-premises AD environments
- Exchange 365: Email and mailbox management for cloud and hybrid environments
- Entra ID: Identity and access management for Azure AD/Entra ID
- General: Utility scripts for common administrative tasks
- Intune: Detection and remediation scripts to keep your house in order
- Microsoft 365: Microsoft 365 Relevant scripts
- Onedrive: Onedrive for Business and SharePoint bulk file upload/download scripts
#
Interactive Scripts
Many scripts include GUI interfaces for ease of use:
- User creation wizards with form-based input
- Device selection interfaces
- Progress indicators for long-running operations
#
Usage
#
Basic Usage
Each script is designed to be run independently. Navigate to the appropriate folder and execute the script:
# Example: Run user creation script
.\ad\user\creation\User-Creation.ps1
# Example: Run Intune bulk sync
.\intune\devices\Intune-BulkSync.ps1
#
Scripts available
#
Active Directory (ad)
#
Exchange / E365 (e365)
#
Entra ID / Azure AD (entra)
#
General utilities (general)
#
Intune (intune)
#
OneDrive / SharePoint (onedrive)
#
Configuration
See the dedicated configuration page for environment variables, authentication notes and common customisations:
#
Testing
See the testing page for validation guidance and pre-production checks:
#
Logging and Troubleshooting
See the logging and troubleshooting page for standards, common issues and support resources:
#
Accessibility
See the accessibility page for details on inclusive design and accessibility practices:
#
Contributing
See the contribution guidelines and development checklist:
#
Changelog
See the project changelog and recent changes:
#
License
This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for full terms and conditions.
Copyright (c) 2025, Michael Harris, All rights reserved.
#
Like to say thank you?
If these scripts have helped you in your IT administration tasks, consider:
- ⭐ Starring this repository
- 🐛 Reporting issues or suggesting improvements
- 📖 Contributing to the documentation
- ☕ Buy me a coffee to support continued development
#
Contact and Support
#
Project Maintainer
- Michael Harris - @twcau
#
Getting Help
- Issues: Report bugs or request features via GitHub Issues
- Discussions: Join the conversation in GitHub Discussions
- Documentation: Review script headers and Microsoft documentation links
#
Support Guidelines
- Provide clear descriptions of issues with relevant log files
- Include PowerShell version and module information
- Specify the target environment (on-premises, cloud, hybrid)
- Follow the issue templates when reporting problems
This project makes reasonable efforts to follow Microsoft PowerShell best practices and maintains compatibility with enterprise IT environments.