M365-AddLicense.ps1
|
function M365-AddLicense { param( [string]$UserPrincipalName, [string]$LicenseSkuId ) try { Connect-ExchangeOnline $user = Get-User -Identity $UserPrincipalName -ErrorAction Stop if ($user.Licenses -ne $null) { $existingLicense = $user.Licenses | Where-Object { $_.AccountSkuId -eq $LicenseSkuId } if ($existingLicense) { Write-Host "User '$UserPrincipalName' already has the license '$LicenseSkuId'." return } } $licenseOptions = New-MsolLicenseOptions -AccountSkuId $LicenseSkuId Set-MsolUserLicense -UserPrincipalName $UserPrincipalName -AddLicenses $LicenseSkuId -LicenseOptions $licenseOptions Write-Host "License '$LicenseSkuId' has been assigned to user '$UserPrincipalName'." } catch { Write-Host "Error: $_" } } |