none
Convertir atributo a Int RRS feed

  • Pregunta

  • Estimados:

    Junto con saludar quisiera saber si me podrían apoyar con lo siguiente. Estoy aprendiendo PowerShell para realizar la administración de Office 365 solo vía y Script. Lo que quiero realizar es un Script que me permita ver el total de licencias disponibles, es decir, para aquello necesito saber como poder convertir una variable a entero y luego realizar una operación matemática (Total licencias compradas - Total licencias utilizadas). Espero su ayuda con respecto a mi situación. Adjunto imágenes de lo que estoy realizando.

    AccountSkuId                               ActiveUnits WarningUnits ConsumedUnits
    ------------                               ----------- ------------ -------------
    YAMMER_ENTERPRISE_STANDALONE 15          0            12
    ISHAREPOINTSTANDARD_YAMMER       0          2            0
    ENTERPRISEPACK                               50         0            17
    DESKLESSPACK                                 291        0            256
    EXCHANGEDESKLESS                      4250        0            4124
    EXCHANGESTANDARD                        116        0            93
    POWER_BI_STANDARD               1000000       0            7
    MCOIMP                                              0           2            0
    ENTERPRISEWITHSCAL                      50          0            19
    MCOSTANDARD                                  15          0            12
    STANDARDPACK                             1253          0            1248

    ___________________________________________________________

    PS C:\Users\Pablo\Desktop> [String] $prueba2 = (Get-MsolAccountSku | where {$_.AccountSkuId -eq 'XXXXXX:EXCHANGEDESKLESS'}) | select ActiveUnits

    PS C:\Users\Pablo\Desktop> $prueba2
    @{ActiveUnits=4250}

    PS C:\Users\Pablo\Desktop> [int] $varnum = $prueba2
    No se puede convertir el valor "@{ActiveUnits=4250}" al tipo "System.Int32". Error: "La cadena de entrada no tiene el
    formato correcto."
    En línea: 1 Carácter: 1
    + [int] $varnum = $prueba2
    + ~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : MetadataError: (:) [], ArgumentTransformationMetadataException
        + FullyQualifiedErrorId : RuntimeException

    lunes, 23 de enero de 2017 15:24

Respuestas

  • Hola,

    El problema que estás teniendo es que intentas convertir a INT el objeto @{ActiveUnits=4250} en lugar de su valor.

    Tendrías que hacer algo así (no puedo probarlo ahora mismo, por lo que puede haber algún error de sintaxis o similar):

    [int] $varnum = $prueba2.ActiveUnits

    De este modo le pides que almacene en una variable tipo INT el valor de ActiveUnits.

    Espero que te sirva.

    Un saludo.

    Diego Fernández

    • Marcado como respuesta Pablo Galarce martes, 24 de enero de 2017 15:15
    lunes, 23 de enero de 2017 16:02

Todas las respuestas

  • Hola,

    El problema que estás teniendo es que intentas convertir a INT el objeto @{ActiveUnits=4250} en lugar de su valor.

    Tendrías que hacer algo así (no puedo probarlo ahora mismo, por lo que puede haber algún error de sintaxis o similar):

    [int] $varnum = $prueba2.ActiveUnits

    De este modo le pides que almacene en una variable tipo INT el valor de ActiveUnits.

    Espero que te sirva.

    Un saludo.

    Diego Fernández

    • Marcado como respuesta Pablo Galarce martes, 24 de enero de 2017 15:15
    lunes, 23 de enero de 2017 16:02
  • Hola,

    El problema que estás teniendo es que intentas convertir a INT el objeto @{ActiveUnits=4250} en lugar de su valor.

    Tendrías que hacer algo así (no puedo probarlo ahora mismo, por lo que puede haber algún error de sintaxis o similar):

    [int] $varnum = $prueba2.ActiveUnits

    De este modo le pides que almacene en una variable tipo INT el valor de ActiveUnits.

    Espero que te sirva.

    Un saludo.

    Diego Fernández

    Diego:

    Muchas gracias por la ayuda, me sirvió tu respuesta. Otra consulta, como saber el tipo de variable que pertenece un atributo? Las variables que son @{Ejemplo=1234} corresponde a arreglos o String?

    Muchas gracias nuevamente.

    Saludos.

    Pablo Galarce - Ingeniero en informática - Chile

    lunes, 23 de enero de 2017 16:17