Hi @Vikrant Trivedi ,
please try the following script.
Create a CSV file (for instance users.csv
) with your users in the following format:
UPN
abcdefg@123456.com.au
klmnop@123456.com.au
And here is the PowerShell script:
# Import CSV content
$users = Import-Csv -Path .\Junk\users.csv
# Disable users
$users ForEach-Object {
Set-AzureADUser -ObjectID "$_.UPN" -AccountEnabled $false
}
# Remove ALL licenses
$users | ForEach-Object {
$userUPN = "$_.UPN"
$userList = Get-AzureADUser -ObjectID $userUPN
$Skus = $userList | Select-Object -ExpandProperty AssignedLicenses | Select-Object SkuID
if ($userList.Count -ne 0) {
if ($Skus -is [array]) {
$licenses = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
for ($i = 0; $i -lt $Skus.Count; $i++) {
$licenses.RemoveLicenses += (Get-AzureADSubscribedSku | Where-Object -Property SkuID -Value $Skus[$i].SkuId -EQ).SkuID
}
Set-AzureADUserLicense -ObjectId $userUPN -AssignedLicenses $licenses
}
else {
$licenses = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$licenses.RemoveLicenses = (Get-AzureADSubscribedSku | Where-Object -Property SkuID -Value $Skus.SkuId -EQ).SkuID
Set-AzureADUserLicense -ObjectId $userUPN -AssignedLicenses $licenses
}
}
}
----------
(If the reply was helpful please don't forget to upvote and/or accept as answer, thank you)
Regards
Andreas Baumgarten