martes, 16 de agosto de 2011

Exchange 2010 | ¿Quién está fuera de la oficina?

Con Outlook puedes averiguar si alguien de tu organización está fuera de la oficina, pero no puedes saber quienes son todos ellos.

Para obtener un fichero de texto "fuera_oficina.txt" con la lista con todos estos usuarios podemos ejecutar el siguiente script de Powershell desde un host que tenga instalada la consola de administración de Exchange o desde un servidor Exchange.

--- comienzo del script ---

# guarda fecha actual
$fecha_actual = Get-Date

# guarda los samaccounts de todos los buzones
$buzones = Get-Mailbox | %{$_.SamAccountName}

# crea una lista para guardar los samaccounts de todos los buzones fuera de oficina
$buzon_fuera_oficina = New-Object System.Collections.ArrayList

# procesa cada buzón (samaccountname)
foreach ($buzon in $buzones)
{
# extrae la configuración de "fuera de la oficina"
$fuera_oficina = Get-MailboxAutoReplyConfiguration $buzon
# si "fuera de la oficina" está activado y la fecha de activación es hasta hoy
if (($fuera_oficina.AutoReplyState -eq "scheduled") -and ($fuera_oficina.StartTime -le $fecha_actual))
{
# agrega a la lista el samaccount actual
$buzon_fuera_oficina.add($buzon)
}
}

# crea un fichero txt con la lista de samaccounts ordenada
$buzon_fuera_oficina | sort | out-file ./fuera_oficina.txt

--- fin del script ---


No hay comentarios: