Cargando



Buzones con PowerShell de Exchange 2010

En este tutorial realizaremos el desarrollo a través de la herramienta, muy poderosa para administradores, PowerShell de Exchange, el informe del tamaño de buzones de Exchange 2010, Exportación de Excel , guardar un Scripts y además ejecutarlo.


jun 13 2013 12:32
jun 13 2013 12:33
Introducción

Con el PowerShell, puedo realizar una acción por un objeto pero también puedo realizarlo por 10, 100, o 1.000 objetos.
El servidor de Exchange 2010 puede tener una o más bases de datos, en este caso nos conectaremos a una principal. Los comandos que ejecutaremos podrán ser ejecutados en una sola línea de comando.

Tamaños y Exportación Excel

1) Tamaños

Vamos a tirar unos comandos para comprobar el tamaño de los buzones de compañía y el Alias. Estaremos utilizando una sentencia que a mi criterio es una de las más importantes para este caso en un PowerShell ,

Get-MailboxStatistics.

ForEach($MailBox In (Get-Mailbox -ResultSize Unlimited))

{

Get-MailboxStatistics -Identity $MailBox | `

Format-Table @{Label="sAMAccountName";Expression={$MailBox.sAMAccountName}}, `

@{Label="Size";Expression={$_.TotalItemSize.Value.ToBytes()}}, `

@{Label="DeletedSize";Expression={$_.TotalDeletedItemSize.Value.ToBytes()}}, `

@{Label="TotalSize";Expression={$_.TotalItemSize.Value.ToBytes() + $_.TotalDeletedItemSize.Value.ToBytes()}} -AutoSize

}




2) Exportación

Con estas sentencias estaremos exportando a un Excel, siguiendo estas sentencias lograremos una exitosa exportación.


Add-PsSnapin Microsoft.Exchange.Management.PowerShell.Admin

$Devolucion = @()

ForEach($MailBox In (Get-Mailbox -ResultSize Unlimited))

{

$Estadisticas = $null

$Buzon = New-Object PsCustomObject | Select-Object sAMAccountName, `

Size, `

DeletedSize, `

TotalSize

$Estadisticas = Get-MailboxStatistics -Identity $MailBox -ErrorAction SilentlyContinue

If($Estadisticas -ne $null)

{

$Buzon.sAMAccountName = $MailBox.sAMAccountName

$Buzon.Size = $Estadisticas.TotalItemSize.Value.ToBytes()

$Buzon.DeletedSize = $Estadisticas.TotalDeletedItemSize.Value.ToBytes()

$Buzon.TotalSize = $Buzon.Size + $Buzon.DeletedSize

$Devolucion += $Buzon

}

}

$Devolucion | Export-Csv -Delimiter "," -Path c:usersSOLVETICDocumentsbuzones.csv -NoTypeInformation

$Devolucion = $null



Para que se ejecute como tarea programada, se podrá guardar en un fichero de texto de extensión “PS1” y también se podrá ejecutar desde un .bat .

3) Ejecutando el Script

PowerShell ejecuta scripts con extensión “.PS1”, de forma que puedes escribir todo el código en un Archivo de texto con la extensión indicada. Para editar scripts sólo necesitas un editor de texto. Si quieres más funcionalidades como depuración y ver a tiempo real el valor de las variables, puedes utilizar PowerGui.
Para ejecutar un script de PowerShell tenemos que indicar su ubicación de forma absoluta. Existen dos formas de hacerlo:
  • Desde la línea de comandos convencional:

powershell . listar-buzones.ps1



En este caso, el archivo script listar-buzones.ps1 debe estar ubicado en la carpeta actual. Tenemos que escribir toda la ruta si el script está en otra carpeta que no es la actual:


powershell c:scriptslistar-buzones.ps1

  • O desde la línea de comandos de PowerShell (estamos en la misma carpeta que el script):

powershell>. listar-buzones.ps1

  • Indicando la ruta completa desde la línea de comandos de PowerShell:

PoweShell>c:scripts listar-buzones.ps1


Siguiendo estos pasos podremos comenzar a manejar sin ningún tipo de problemas, un PowerShell para nuestras sentencias sobre un Microsoft Exchange 2010.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X