El Blog de Gualtrysoft

Windows 2000/2003/2008, Active Directory, VBScript, Hyper-V, PowerShell y todo aquello interesante a la hora de usar, configurar y administrar Windows Server. También tenemos longanizas…

Script Powershell Para Listar Las Colas De Transporte de Exchange 2007

Posted by urpiano en Viernes 23 \23\UTC octubre \23\UTC 2009

Este script de Powershell nos permite listar las colas de transporte de nuestra organización de Exchange 2007 y almacenar este listado en un fichero de valores separados por tabuladores, ideal para ser abierto con Excel.

La sintaxis del script es:

<ruta>\estado-colas -Fichero <fichero TAB>

Siendo:

  • Ruta (requerido): Ruta de la carpeta en la que se encuentra ubicado el script. Powershell requiere que se pase la ruta de los scripts, aunque estos se encuentren en una carpeta incluída en la variable de entorno PATH. En el caso de que el script se encuentre en la carpeta en la que está situado Powershell, es suficiente con poner un punto como ruta.
  • Fichero (requerido): Cadena con la ruta y nombre del fichero de valores separados por tabuladores en el que se volcará el listado.

Ejemplo

Se volcará el listado de las colas en el fichero \\bacterio-fs\listados\miscolitas.tab:

.\estado-colas -Fichero \\bacterio-fs\listados\miscolitas.tab

Este es el código del script:

################################################################################
#                                                                              #
# estado-colas.ps1                                                             #
#                                                                              #
# Este script lista todas las colas de mensajes de la organización de          #
# Exchange; este listado es volcado a un fichero de valores separados por      #
# tabuladores, ideal para ser abierto con Excel                                #
#                                                                              #
# Esta es la sintaxis del script:                                              #
#                                                                              #
# <ruta>\estado-colas -Fichero <fichero TAB>                                   #
#                                                                              #
# Siendo:                                                                      #
#                                                                              #
#         - Ruta (requerido):                                                  #
#                             Ruta de la carpeta en la que se encuentra        #
#                             ubicado el script. Powershell requiere que se    #
#                             pase la ruta de los scripts, aunque estos se     #
#                             encuentren en una carpeta incluída en la         #
#                             variable de entorno PATH. En el caso de que el   #
#                             script se encuentre en la carpeta en la que está #
#                             situado Powershell, es suficiente con poner un   #
#                             punto como ruta.                                 #
#                                                                              #
#         - Fichero (requerido):                                               #
#                             Cadena con la ruta y nombre del fichero de       #
#                             valores separados por tabulador al que se        #
#                             volcará el listado.                              #
#                                                                              #
# Ejemplo                                                                      #
#                                                                              #
# Se volcaráá el listado de las colas en el fichero                            #
# \\bacterio-fs\listados\miscolitas.tab                                        #
#                                                                              #
# .\estado-colas -Fichero \\bacterio-fs\listados\miscolitas.tab                #
#                                                                              #
# Fernando Reyes López                                                         #
# Octubre de 2009                                                              #
#                                                                              #
################################################################################

# Declaramos el parámetro de fichero de salida
param([string] $Fichero)

# Comprobamos si están cargados los Cmdlets de Exchange. En caso contrario los
# cargamos.
If(!(Get-PSSnapin | `
     Where-Object {$_.Name -eq `
                    "Microsoft.Exchange.Management.PowerShell.Admin"`
                    }))
{
    Add-PSSnapin -name Microsoft.Exchange.Management.PowerShell.Admin
}


# Obtenemos los servidores de transporte de la organización
ForEach($Servidor In Get-TransportServer)
{

    # Recorremos las colas del servidor de transporte actual
    ForEach($Cola In Get-Queue -Server $Servidor -ErrorAction SilentlyContinue)
    {

        # Almacenamos los datos en la salida
        $Salida = $Salida + `
                  $Servidor.Name + "`t" + `
                  $Cola.Identity + "`t" + `
                  $Cola.MessageCount + "`t" + `
                  $Cola.IsDeliveryQueue() + "`t" + `
                  $Cola.IsPoisonQueue() + "`t" + `
                  $Cola.IsSubmissionQueue() + "`t" + `
                  $Cola.DeliveryType + "`t" + `
                  $Cola.IsValid + "`t" + `
                  $Cola.Status + "`t" + `
                  $Cola.ObjectState + "`r`n" 

    } # $Cola
} # $Servidor

# Ponemos los encabezados a la salida
$Salida = "Servidor`tNombre`tNMensajes`tDelivery`tPoison`tSubmission`t" + `
"TipoEntrega`tValida`tEstado`tEstadoObjeto`r`n" + $Salida

# Volcamos la salida al fichero
$Salida > $Fichero

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: