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!