Powershell: выбор между E3, E1 в зависимости от доступных лицензий
Я ищу способ добавить пользователю лицензию E3 или E1 в зависимости от наличия лицензии.
Например: если лицензии E3 больше нет, добавьте лицензию E1.
Что я делаю, я использую команду «Set-MsolUserLicense» в 2 строки. Если первая строка выдает ошибку вроде, больше нет в наличии. Затем он переходит на 2-ю строку и выполняет вторую.
Если первая строка идет без ошибки и доходит до 2 строки и потом выдает ошибку, уже лицензия добавлена.
Так что это мой путь :)
Есть идеи, как это должно быть? :)
Вкр, М
1 ответ
Основываясь на вышеуказанном общем требовании, мы написали приведенный ниже сценарий powershell, который проверит текущие единицы доступных лицензий и назначит пользователю соответствующую лицензию соответственно либо e3, либо e1.
Connect-MsolService
$userlist={'user1@microsoft.com','user2@microsoft.com'}
foreach($users in $userlist){
$e3= Get-MsolAccountSku | Where AccountSkuId -Contains microsoft:ENTERPRISEPACK
$e1= Get-MsolAccountSku | Where AccountSkuId -Contains microsoft:STANDARDPACK
if( $e3.ConsumedUnits -le $e3.ActiveUnits){
Write-Host "Need to append e3"
Set-MsolUserLicense -AddLicenses $e3.AccountSkuId -UserPrincipalName $users
}
elseif( $e1.ConsumedUnits -le $e1.ActiveUnits){
Write-Host "Need to append e1"
Set-MsolUserLicense -AddLicenses $e3.AccountSkuId -UserPrincipalName $users
}
else{
Write-host "No active E1 or E3 Linceses available for the current tenant"
}
}
Вы можете обратиться к этой документации для получения дополнительной информации о названиях продуктов и идентификаторах тарифных планов для лицензирования.