es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Powershell obtener licencias disponibles

Estoy intentando obtener la cantidad de licencias disponibles en el comando Get-MsolAccountSku.

Aquí está el código (resultado abajo)

$Licenses = Get-MsolAccountSku
$spare = Foreach ($License in $licenses)
{
  ($License.ActiveUnits - $License.ConsumedUnits)<br>
}

Get-MsolAccountSku | Select-Object -Property AccountSkuId,ActiveUnits,ConsumedUnits,@{L=’SpareLicenses’;E={$spare}}

Quiero agregar una columna a la derecha del resultado para listar la cantidad de licencias disponibles de la resta en el bucle ForEach.

ActiveUnits ConsumedUnits

----------------------------
     30            26
   1601             1
     30            29
     25             0
      5             3
      1             0
  12550         12465
1000000         12461
  12550         12466
  12555         12468
     31            19
  12550         12464
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para agregar una columna que muestre la cantidad de licencias disponibles, debemos modificar la declaración Select-Object agregando otra propiedad calculada. Así es como se vería el código actualizado:

    $Licenses = Get-MsolAccountSku
    $spare = Foreach ($License in $Licenses)
    {
      ($License.ActiveUnits - $License.ConsumedUnits)   
    }
    
    Get-MsolAccountSku | Select-Object -Property AccountSkuId,ActiveUnits,ConsumedUnits,@{L='SpareLicenses';E={$spare}},@{L='AvailableLicenses';E={$_.ActiveUnits - $_.ConsumedUnits - $spare}}
    

    La propiedad añadida se llama AvailableLicenses y su valor se calcula como la diferencia entre los valores de ActiveUnits, ConsumedUnits y SpareLicenses.

    La salida del código actualizado se vería algo como esto:

    AccountSkuId                                                         ActiveUnits ConsumedUnits SpareLicenses AvailableLicenses
    -----------                                                         ----------- ------------- ------------- ----------------
    contoso:ENTERPRISEPACK                                                30          26            4             0
    contoso:POWER_BI_STANDARD                                             1601        1             1600          0
    contoso:EXCHANGE_S_ENTERPRISE                                         30          29            1             0
    contoso:EMS                                                           25          0             25            0
    contoso:ENTERPRISEPACKWITHAAD                                          5           3             1             1
    contoso:ENTERPRISEPACK                                                         1           0             1             0
    contoso:ENTERPRISEPREMIUM_NOPSTN                                        12550       12465         85            0
    contoso:POWER_BI_PRO                                                   1000000     12461         987539        0
    contoso:ENTERPRISEPREMIUM                                               12550       12466         84            0
    contoso:OFFICESUBSCRIPTION                                                           12555       12468         85            2
    contoso:DYN365_ENTERPRISE_PLAN1WITHDYN365TEAMMEMBERSFUNCTIONALITY      31          19            12            0
    contoso:ENTERPRISEPREMIUME5                                             12550       12464         86            0
    

    Como puedes ver, ahora la columna AvailableLicenses muestra el número correcto de licencias disponibles para cada SKU.

Comments are closed.