# exige a procura CmdLets: http://www.quest.com/powershell/activeroles-server.aspx
# lista da unidade de negócios
$BU = “finança”, “vendas”, “introduzindo no mercado”, “ELE”, “desenvolvimento”
# o intervalo entre datas. Produzirá estes na coluna final: 0 a 30; 30 a 60, etc.
$DateRange = 30
# procura CmdLets do uso para começ os usuários
Começ-QADUser - permitido - o lastLogonTimeStamp de IncludedProperties - SizeLimit 0 | % {
# sustentar isto para a conveniência
$LastLogon = $_.LastLogonTimeStamp
# restaurar os valores de IntervalString e de multiplicador
# começa procurando datas menos de 30 dias velho, incrementado por 30 em cada passagem do laço
$IntervalString = ""; $Multiplier = 1
Se ($LastLogon - ne $Null) {
Fazer {
# ver se a data do início de uma sessão se realiza após a data especific
Se ($LastLogon - GT (Começ-Data) .AddDays (- ($DateRange * $Multiplier))) {
# registro este valor como “0 a 30”, ou “30 a 60”, etc.
$IntervalString = “$ ($DateRange * ($Multiplier - 1)) a $ ($DateRange * $Multiplier)”
}
# incremento o multiplicador
$Multiplier++
# até que tiver um valor
} Quando ($IntervalString - "" do eq)
} Mais {
$IntervalString = “N/A”
}
# gerar a saída
$ do _ | Selecionar-Objeto DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated,
@ {e= do n='BusinessUnit'; {ForEach ($Name em $BU) {se ($_.DN - combinar “OU=$Name, ") {$Name}}}},
@ {e= do n='Range'; {$IntervalString}}
# exportação ele todo a um CSV using a aba como um delimitador
} | Exportar-CSV o `t do delimitador de “SomeFile.csv” - NoTypeInformation -
|