Read Time:1 Minute, 37 Second
El siguiente script para mi es muy útil ya que me permite determinar el tamaño de las base de datos y tomar decisión con respecto a la migración entre BD Exchange.
# Recuperar y procesar información de todas las bases de datos de buzones
Get-MailboxDatabase -Status | Sort-Object Name | Select-Object Name, @{
Name = 'DB Size (GB)'
Expression = {
if ($_.DatabaseSize -ne $null) {
[math]::Round($_.DatabaseSize.ToBytes() / 1GB, 2)
} else {
"Unknown"
}
}
}, @{
Name = 'Available New Mbx Space (MB)'
Expression = {
if ($_.AvailableNewMailboxSpace -ne $null) {
[math]::Round($_.AvailableNewMailboxSpace.ToBytes() / 1MB, 2)
} else {
"Unknown"
}
}
} | Format-Table -AutoSize
Explicaciones.
- Get-MailboxDatabase -Status: Recupera información de estado de las bases de datos.
- Sort-Object Name: Ordena las bases de datos por nombre.
- Select-Object with Custom Expressions:
- DB Size (GB): Calcula el tamaño de la base de datos en gigabytes. Utiliza
ToBytes()para convertir el valorByteQuantifiedSizea bytes y luego lo divide por1GB(que es1073741824en bytes) para obtener gigabytes. Redondea el resultado a dos decimales. - Available New Mbx Space (MB): Calcula el espacio disponible para nuevos buzones en megabytes. Al igual que con el tamaño de la base de datos, convierte el valor a bytes y luego a MB. También redondea a dos decimales.
- DB Size (GB): Calcula el tamaño de la base de datos en gigabytes. Utiliza
- Format-Table -AutoSize: Formatea la salida en una tabla que ajusta automáticamente el tamaño de las columnas para una mejor legibilidad.
Adicionalmente, en la caso que quisiera exportar los datos a un CSV deberás modificar la salida.
# Define la ruta del archivo CSV de salida
$outputCsv = "C:\Path\To\Your\File\MailboxDatabaseSizes.csv"
# Asegúrate de que el directorio existe y de que tienes permisos para escribir en él
If (-Not (Test-Path -Path (Split-Path -Path $outputCsv -Parent))) {
New-Item -ItemType Directory -Path (Split-Path -Path $outputCsv -Parent) -Force
}
Y al final de SCRIPT agregar el resultado para exportar a un CSV
| Export-Csv -Path $outputCsv -NoTypeInformation -Encoding UTF8
Write-Output "La información ha sido exportada correctamente a $outputCsv"

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post…