通过Azure AD v2 powershell删除多个许可证

时间:2017-10-20 07:41:58

标签: powershell azure

我想使用PowerShell删除多个许可证。实际上我可以删除下面的单一许可证。但是如何删除多个许可证?

$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

1 个答案:

答案 0 :(得分:0)

  

但如何删除多个许可证?

有一种简单的方法可以实现这一点,我们可以使用MSOL powershell(Azure AD v1)来实现这一目标:

我们可以使用此脚本列出分配给此帐户的所有许可证:

$UPN = jasontest1@tech1108.com
$a = Get-MsolUser -UserPrincipalName $UPN
$c = $a.Licenses.accountskuid

然后我们可以使用foreach删除所有许可证:

foreach ( $d in $c ){ Set-MsolUserLicense -UserPrincipalName $UPN -RemoveLicenses $d }

以下是有关-RemoveLicenses的信息,请参阅此link

顺便说一句,如果您想在PC上安装MSOL powershell,我们可以使用此命令进行安装:install-module msonline

更新

我们可以使用此脚本从一个帐户(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}