# richiede la ricerca CmdLets: http://www.quest.com/powershell/activeroles-server.aspx
# lista della divisione di affari
$BU = “finanze„, “vendite„, “introducendo„, “ESSO„, “sviluppo„
# l'intervallo fra le date. Produrrà questi nella colonna finale: 0 - 30; 30 - 60, ecc.
$DateRange = 30
# ricerca CmdLets di uso per ottenere gli utenti
Ottenere-QADUser - permesso a - il lastLogonTimeStamp di IncludedProperties - SizeLimit 0 | % {
# stretta su questo per convenienza
$LastLogon = $_.LastLogonTimeStamp
# ripristinare i valori di moltiplicatore e di IntervalString
# inizia cercando le date vecchio i meno di 30 giorni, incrementato da 30 su ogni passaggio del ciclo
$IntervalString = ""; $Multiplier = 1
Se ($LastLogon - Ne $Null) {
Fare {
# vedere se la data di inizio attività ha luogo dopo la data specificata
Se ($LastLogon - GT (Ottenere-Data) .AddDays (- ($DateRange * $Multiplier))) {
# annotazione questo valore come “0 - 30„, o “30 - 60„, ecc
$IntervalString = “$ ($DateRange * ($Multiplier - 1)) a $ ($DateRange * $Multiplier)„
}
# incremento il moltiplicatore
$Multiplier++
# fino a che non abbia un valore
} Mentre ($IntervalString - "" del eq)
} Altrimenti {
$IntervalString = “N/A„
}
# generare l'uscita
$ di _ | Selezionare-Oggetto DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated,
@ {e= del n='BusinessUnit'; {ForEach ($Name in $BU) {se ($_.DN - abbinare “OU=$Name, ") {$Name}}}},
@ {e= del n='Range'; {$IntervalString}}
# esportazione esso tutto ad un CSV using la linguetta come delimitatore
} | Esportare-CSV il `t del delimitatore “di SomeFile.csv„ - NoTypeInformation -
|