This repository contains a collection of PowerShell scripts and helpers for managing Microsoft 365, Azure AD, Intune, and related cloud environments. It is designed to provide practical automation, reporting, and migration tools for IT professionals.
- Scripts for exporting and managing cloud-only users, groups, and distribution groups
- AzCopy automation for archiving files to Azure Blob Storage
- BitLocker recovery key backup from Microsoft Graph
- Modular folder structure for easy navigation
- Example templates and documentation for extending functionality
scripts/
βββ Assessment/ # Comprehensive environment assessments
β βββ Lync/ # Lync/Skype for Business assessment tools
β βββ Microsoft365/ # Microsoft 365 assessment tools
β βββ Office365/ # Office 365 tenant assessments (legacy location)
β βββ On Premise/ # On-premise Windows Server assessments
β βββ Security/ # Security posture assessments
β βββ Teams/ # Teams infrastructure assessments
βββ Azure/ # Azure and Microsoft 365 automation scripts
βββ Defender/ # Microsoft Defender scripts
βββ Graph Commands/ # Microsoft Graph API scripts
βββ Intune/ # Intune management scripts
β βββ Assessment/ # Intune assessment scripts
βββ Office365/ # Office 365 user/mailbox management
βββ Data Processing/ # Data analysis and reporting tools
βββ Security/ # Security-related scripts and CVE fixes
build/ # Build and helper scripts
docs/ # Project documentation and guides
βββ wiki/ # Detailed script documentation
β βββ Assessments/ # Assessment script documentation
β βββ Lync/ # Lync/Skype documentation
β βββ Microsoft365/ # M365 assessment documentation
βββ *.md # General guides and project docs
- Clone this repository to your local machine.
- Review the scripts in the
scripts/directory. Each script includes documentation and parameter help. - Install required PowerShell modules as noted in each script (e.g., Microsoft.Graph, ExchangeOnlineManagement).
- Run scripts in PowerShell 7+ or Windows PowerShell 5.1, as appropriate.
- Customize and extend scripts as needed for your environment.
scripts/Assessment/Office365/Get-QuickO365Report.ps1β Fast Office 365 tenant assessment with automatic ZIP downloadscripts/Assessment/Office365/Get-ComprehensiveO365Report.ps1β Advanced assessment with archives, rules, and full analytics- See Office 365 Assessment Guide for complete documentation
scripts/Azure/Get-CloudOnlyUsers.ps1β Export all cloud-only users, groups, and distribution groupsscripts/Azure/AzCopyCommand.ps1β Archive files to Azure Blob Storage using AzCopyscripts/Azure/Backup-MgGraphBitLockerKeys.ps1β Backup BitLocker recovery keys from Microsoft Graph
scripts/Assessment/Lync/Start-LyncCsvExporter.ps1β Interactive menu-based Lync data exporter (docs)scripts/Assessment/Lync/Get-ComprehensiveLyncReport.ps1β Complete Lync environment assessment (docs)scripts/Assessment/Lync/Get-LyncHealthReport.ps1β Health monitoring and diagnostics (docs)scripts/Assessment/Lync/Export-ADLyncTeamsMigrationData.ps1β AD export for Teams migration (docs)- See Lync Assessment Scripts Overview for complete documentation
scripts/Assessment/Teams/Get-ComprehensiveTeamsReport.ps1β Full Teams infrastructure assessment
scripts/Assessment/On Premise/Start-FileShareAssessment.ps1β Comprehensive file share assessment with Excel reporting (docs)- Automatic SMB share discovery
- Storage analysis and NTFS permission mapping
- SharePoint/OneDrive compatibility checking
- Professional Excel report generation
Detailed documentation for scripts is available in the docs/wiki/ directory:
- Lync Assessment Scripts - Complete Lync/Skype for Business assessment suite
- Microsoft 365 Assessment Scripts - M365 tenant assessment tools
- On-Premise Assessment Scripts - File share and server assessment tools
- Office 365 Quick Start Guide - Getting started with O365 assessments
Each script includes:
- Comprehensive comment-based help (
.SYNOPSIS,.DESCRIPTION,.PARAMETER,.EXAMPLE,.NOTES) - Usage examples and parameter descriptions
- Prerequisites and required modules
- Output format and file naming conventions
For detailed script documentation, see the wiki articles linked above or use PowerShell's built-in help:
Get-Help .\ScriptName.ps1 -Full- The
build/folder contains helper scripts for automation and validation. - Scripts are validated for public release and include comment-based help for usage.
This repository is provided under the GNU General Public License v3.0. See LICENSE for details.
Tip: Use and adapt these scripts to accelerate your Microsoft 365 and Azure automation projects. Contributions and improvements are welcome!