# requiere la búsqueda CmdLets: http://www.quest.com/powershell/activeroles-server.aspx
# lista de la unidad de negocio
$BU = “finanzas”, “ventas”, “poniendo”, “ÉL”, “desarrollo”
# el intervalo entre las fechas. Producirá éstos en la columna final: 0 a 30; 30 a 60, etc.
$DateRange = 30
# búsqueda CmdLets del uso para conseguir a los usuarios
Conseguir-QADUser - permitido - el lastLogonTimeStamp de IncludedProperties - SizeLimit 0 | % {
# asimiento sobre esto para la conveniencia
$LastLogon = $_.LastLogonTimeStamp
# reajustar los valores de IntervalString y del multiplicador
# comienza buscando fechas menos de 30 días de viejo, incrementado por 30 en cada paso del lazo
$IntervalString = ""; $Multiplier = 1
Si ($LastLogon - ne $Null) {
Hacer {
# ver si la fecha de la conexión es después de la fecha especificada
Si ($LastLogon - GT (Conseguir-Fecha) .AddDays (- ($DateRange * $Multiplier))) {
# expediente este valor como “0 a 30”, o “30 a 60”, etc
$IntervalString = “$ ($DateRange * ($Multiplier - 1)) a $ ($DateRange * $Multiplier)”
}
# incremento el multiplicador
$Multiplier++
# hasta que tenga un valor
} Mientras que ($IntervalString - "" del eq)
} {
$IntervalString = “N/A”
}
# generar la salida
$ de _ | Seleccionar-Objeto DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated,
@ {e= del n='BusinessUnit'; {ForEach ($Name en $BU) {si ($_.DN - emparejar “OU=$Name, ") {$Name}}}},
@ {e= del n='Range'; {$IntervalString}}
# exportación él todo a un CSV usar lengüeta como delimitador
} | Exportar-CSV el `t del delimitador de “SomeFile.csv” - NoTypeInformation -
|