# Ensure NuGet is installed

Install-PackageProvider -Name NuGet -Force -Scope AllUsers

Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted


# Install MSOnline Module (Legacy Office 365 Admin)

Write-Host "Installing MSOnline Module..."

Install-Module -Name MSOnline -Force -AllowClobber


# Install AzureAD Module (Legacy Azure AD Admin)

Write-Host "Installing AzureAD Module..."

Install-Module -Name AzureAD -Force -AllowClobber


# Install AzureADPreview Module (Newer Azure AD features)

Write-Host "Installing AzureADPreview Module..."

Install-Module -Name AzureADPreview -Force -AllowClobber


# Install Microsoft Graph module (Modern unified API for Microsoft 365)

Write-Host "Installing Microsoft.Graph Module..."

Install-Module Microsoft.Graph -Force -AllowClobber


# Install Exchange Online Management module

Write-Host "Installing Exchange Online Management Module..."

Install-Module -Name ExchangeOnlineManagement -Force -AllowClobber


# Install Microsoft Teams module

Write-Host "Installing Microsoft Teams Module..."

Install-Module -Name MicrosoftTeams -Force -AllowClobber


# Install Intune PowerShell SDK (via Microsoft Graph)

Write-Host "Installing Microsoft.Graph.Intune Module..."

Install-Module -Name Microsoft.Graph.Intune -Force -AllowClobber


# Optional: Install SharePoint Online Management Shell

Write-Host "Installing SharePoint Online Management Shell..."

Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Force -AllowClobber


Write-Host "`nAll modules installed successfully."