如何检索属性类powershell

时间:2017-09-04 14:24:49

标签: powershell azure-active-directory

我正在尝试获取用户列表的许可证状态。我会根据许可证状态做一些事情。

例如许可用户输出:

Get-AzureADUser -ObjectId "Andre@contoso.com" | fl

DeletionTimestamp              : 
ObjectId                       : 
ObjectType                     : User
AccountEnabled                 : True
AssignedLicenses               : {class AssignedLicense {
                                   DisabledPlans: System.Collections.Generic.List`1[System.String]
                                   SkuId: 6fd2c87f-b296-42f0-b197-1e91e994b900
                                 }
                                 }

非许可用户输出:

Get-AzureADUser -ObjectId "Andre@contoso.com" | fl

DeletionTimestamp              : 
ObjectId                       : 
ObjectType                     : User
AccountEnabled                 : True
AssignedLicenses               : {}

我不知道如何使用AzureAD PowerShell检索它。如何从AssignedLicenses属性中检索SkuId?

#for licence user
if($AzureADUser.SkuId -eq '6fd2c87f-b296-42f0-b197-1e91e994b900') 
{
 do something...
}

#for non-licence user
elseif($AzureADUser.AssignedLicenses -eq $null)
{
do something...
}

上次更新:

Get-AzureADUser -ObjectId "Andre@contoso.com" | Select-Object -ExpandProperty AssignedLicenses

DisabledPlans SkuId                               
------------- -----                               
{}            6fd2c87f-b296-42f0-b197-1e91e994b900

非许可用户:

 Get-AzureADUser -ObjectId "Andre2@contoso.com" | Select-Object -ExpandProperty AssignedLicenses

什么都没有回来

1 个答案:

答案 0 :(得分:0)

您可以像这样直接访问SkuID。

(Get-AzureADUser -ObjectId "Andre2@contoso.com").AssignedLicenses.SkuID

如果至少有一个许可证,则问题中显示的Select-Object状态也有效。否则,将无法返回。

对于不返回任何内容的用户,您可以运行以下命令,这将指示分配的许可证数量等于0.

(Get-AzureADUser -ObjectId "Andre2.contoso.com").AssignedLicenses.count

您还可以使用以下方式获取所有用户及其许可证:

$SKus = Get-AzureAdSubscribedSku  | Select SkuPartNumber,SkuID
$Users = Get-AzureADUser -All $true 
$Users | Select {$_.UserPrincipalName,$_.AssignedLicenses.SkuID} 

这将列出您的所有用户和分配的许可。没有任何许可证的AD用户的AssignedLicenses SKU ID将为null。

从那里,您可以通过将SkuIDS与$中的名称相关联来确定哪些SKU ID与哪个Sku部件名称相关联(以确定这是否是通过许可证的电力,O365高级许可证等等)。 Skus哈希表。