基本上,我想做的是存储对象中一些特定属性的值。目的是将“ Enabled”和“ ConsumedUnits”的值存储到它们各自的变量中,以便我可以显示差异或换句话说,显示可用许可证的正确数量。这是首选方法,而不是每次都必须从“已启用”中手动减去“ ConsumedUnits”的数量。然后,我想使用这些变量来计算并显示符合我的陈述中“ SkuPartNumber”标准的每一个可用许可证的数量。基本上,我想显示可用的许可证数量,或者如果没有剩余要分配的许可证,则抛出错误。
我真的很想将此部分添加到我的雇主的新AD用户注册脚本中,以减少创建用户和分配许可证,组,填充AD配置文件等所需的时间。
希望我已经解释了我要完成的工作。我对Powershell相对较新,但仍在尝试理解语法。
function Add-ADLicense
{
$Licenses = Get-AzureADSubscribedSku | Select-Object -Property SkuPartNumber,
ConsumedUnits -ExpandProperty PrepaidUnits | Where-Object {($_.SkuPartNumber
-eq 'ENTERPRISEPACK' -or $_.SkuPartNumber -eq 'AAD_PREMIUM')} | Select-Obect
-Property SkuPartNumber, Enabled, ConsumedUnits
foreach($License in $Licenses)
{
if ($_.SkuPartNumber -eq 'ENTERPRISEPACK')
{
$LicenseTotal = $_.Enabled
$LicensesUsed = $_.ConsumedUnits
}
$AvailLicenses = $LicenseTotal - $LicensesUsed
Write-Output $AvailLicenses
}
}