Reputation: 1904
I want to remove multiple licenses using PowerShell. Actually I able to remove single licence like below. But How do I remove multiple licenses?
$AzureUser = Get-AzureAdUser -ObjectId $ADuser.UserPrincipalName
$License = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$License.SkuId = "6fd2c87f-b296-42f0-b197-1e91e994b900" #6fd2c87f-b296-42f0-b197-1e91e994b900 Office 365 E3
$LicensesToAssign = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$LicensesToAssign.AddLicenses = @()
$LicensesToAssign.RemoveLicenses = $License.SkuId
Set-AzureADUserLicense -ObjectId $AzureUser.ObjectId -AssignedLicenses $LicensesToAssign
Upvotes: 1
Views: 1604
Reputation: 13974
But How do I remove multiple licenses?
There is a easy way to achieve this, we can use MSOL powershell (Azure AD v1) to do it:
We can use this script to list all licences assigned to this account:
$UPN = [email protected]
$a = Get-MsolUser -UserPrincipalName $UPN
$c = $a.Licenses.accountskuid
Then we can use foreach
to remove all licences:
foreach ( $d in $c ){ Set-MsolUserLicense -UserPrincipalName $UPN -RemoveLicenses $d }
Here is the information about -RemoveLicenses
, please refer to this link.
By the way, if you want to install MSOL powershell on your PC, we can use this command to install it: install-module msonline
.
Update:
We can use this script to remove licenses from one account(Azure AD PowerShell V2).
$a = get-azureaduser -ObjectId "4xxxxxxx0"
$skuids = $a.AssignedLicenses.skuid
$License = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$LicensesToAssign = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$LicensesToAssign.AddLicenses = @()
foreach($skuid in $skuids){$License.SkuId = $skuid; $LicensesToAssign.RemoveLicenses = $License.SkuId; Set-AzureADUserLicense -ObjectId "user-object-id" -AssignedLicenses $LicensesToAssign}
Upvotes: 1