По сути, я пытаюсь сохранить значения нескольких конкретных свойств объекта. Цель состоит в том, чтобы сохранить значения «Enabled» и «ConsumedUnits» в каждой из их собственных переменных, чтобы я мог показать разницу или, другими словами, надлежащее количество доступных лицензий. Это предпочтительнее, чем каждый раз вручную вычитать количество «ConsumedUnits» из «Enabled». Затем я хотел бы использовать эти переменные для расчета и отображения количества доступных лицензий для каждой, которая соответствует критериям «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
}
}