locked
Detectar cuando get-mailbox da un error porque no existe el buzon RRS feed

  • Pregunta

  • Hola.

    Quiero recorrer un listado con posibles nombres de usuario y comprobar si existe buzón para cada nombre, por lo que me gustaría hacer algo así:

    import-csv listado.csv | get-mailbox | select samaccountname,displayname | export-csv resultado.csv

    Sin embargo, tambien quiero que si alguno de los nombres no tiene buzon aparezca en el fichero resultado.csv. Con el comando anterior, si no existe el buzón aparece un mensaje de error por pantalla.

    ¿como puedo detectar con get-mailbox que no existe el buzón? Quiero decir, me gustaría usar algo como try y catch para capturar errores pero no encuentro información sobre try y catch.

    Gracias,

     

    Mig.En.

    viernes, 17 de septiembre de 2010 16:49

Respuestas

  • Deberías meterlo todo en un script de PowerShell y que te lo guarde en un fichero.

    Debería quedar del estilo

    # Fecha de ejecución
    $Data = (get-date -uformat "%Y%m%d-%H.%M").ToString()
    # Fichero de salida 
    $Salida= ".\Log\Buzon"+$DATA+".txt"
    $Resultado = import-csv listado.csv | get-mailbox | select samaccountname,displayname | export-csv resultado.csv
    if ($Resultado)
    {
    	Write-Output $Resultado | out-file -filepath $Salida -Append 
    
    }

     

    De ese modo, te genera un .csv con los datos y un .txt con los errores


    Saludos,

    Marc
    MCSA/MCSE 2003
    MCITP: Enterprise Administrator
    MCITP: Enterprise Messaging Administrator
    Citrix CCA

     

    • Marcado como respuesta Uriel Almendra miércoles, 15 de mayo de 2013 18:15
    lunes, 20 de septiembre de 2010 11:52
  • Ok, puedes usar de ejemplo: http://powershell.com/cs/blogs/tips/archive/2009/09/14/trap-and-try-catch.aspx
    Saludos,

    Marc
    MCSA/MCSE 2003
    MCITP: Enterprise Administrator
    MCITP: Enterprise Messaging Administrator
    Citrix CCA
    • Marcado como respuesta Uriel Almendra miércoles, 15 de mayo de 2013 18:15
    lunes, 20 de septiembre de 2010 14:12

Todas las respuestas

  • Deberías meterlo todo en un script de PowerShell y que te lo guarde en un fichero.

    Debería quedar del estilo

    # Fecha de ejecución
    $Data = (get-date -uformat "%Y%m%d-%H.%M").ToString()
    # Fichero de salida 
    $Salida= ".\Log\Buzon"+$DATA+".txt"
    $Resultado = import-csv listado.csv | get-mailbox | select samaccountname,displayname | export-csv resultado.csv
    if ($Resultado)
    {
    	Write-Output $Resultado | out-file -filepath $Salida -Append 
    
    }

     

    De ese modo, te genera un .csv con los datos y un .txt con los errores


    Saludos,

    Marc
    MCSA/MCSE 2003
    MCITP: Enterprise Administrator
    MCITP: Enterprise Messaging Administrator
    Citrix CCA

     

    • Marcado como respuesta Uriel Almendra miércoles, 15 de mayo de 2013 18:15
    lunes, 20 de septiembre de 2010 11:52
  • Gracias.

    Creo que me servirá, aunque me gustaría saber utilizar tratamiento de excepciones con try y catch para que cuando ocurra cualquier error en un comando poder registrarlo y no ver solamente letras rojas en la pantalla.

    Un saludo,

     

    Mig. En.

    lunes, 20 de septiembre de 2010 14:01
  • Ok, puedes usar de ejemplo: http://powershell.com/cs/blogs/tips/archive/2009/09/14/trap-and-try-catch.aspx
    Saludos,

    Marc
    MCSA/MCSE 2003
    MCITP: Enterprise Administrator
    MCITP: Enterprise Messaging Administrator
    Citrix CCA
    • Marcado como respuesta Uriel Almendra miércoles, 15 de mayo de 2013 18:15
    lunes, 20 de septiembre de 2010 14:12