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

问题描述:

我想使用PowerShell删除多个许可证。其实我可以像下面一样删除单个许可证。但是,我如何删除多个许可证?通过Azure AD v2删除多个许可证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 
+0

也许我们可以使用Azure的AD V1 PowerShell来做到这一点,请查看我的回答,请让我知道如果你需要更多的帮助:) –

但我怎么删除多个许可证?

有一种简单的方法来实现这一点,我们可以使用MSOL的PowerShell(Azure的AD V1)做到这一点:

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

$UPN = [email protected] 
$a = Get-MsolUser -UserPrincipalName $UPN 
$c = $a.Licenses.accountskuid 

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

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

这里是ABO信息ut -RemoveLicenses,请参考link。顺便说一句,如果你想在PC上安装MSOL powershell,我们可以使用这个命令来安装它:install-module msonline


更新:

我们可以使用这个脚本从一个帐户(天青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} 
+0

谢谢,但我需要通过蔚蓝广告V2 – Arbelac

+0

@Arbelac我做有更新我的答案,请检查它:) –