# требует поисков CmdLets: http://www.quest.com/powershell/activeroles-server.aspx
# список организационной единицы
$BU = «финансы», «сбывания», «выходящ на рынок», «ОНО», «развитие»
# интервал между датами. Произведет эти в окончательной колонке: от 0 до 30; от 30 до 60, etc.
$DateRange = 30
# поиски CmdLets пользы для того чтобы получить потребителей
Получите-QADUser - позволено - lastLogonTimeStamp IncludedProperties - SizeLimit 0 | % {
# владение на это для удобства
$LastLogon = $_.LastLogonTimeStamp
# переустановите значения IntervalString и множителя
# начинает путем искать даты более менее чем 30 дней старых, инкрементировано 30 на каждом пропуске петли
$IntervalString = ""; $Multiplier = 1
Если ($LastLogon - ne $Null) {, то
Сделайте {
# см. если дата logon после определенной даты
Если ($LastLogon, то - gt (Получать-Дата) .AddDays (- ($DateRange * $Multiplier))) {
# показатель это значение как «0 к 30», или «от 30 до 60», etc
$IntervalString = «$ ($DateRange * ($Multiplier - 1)) к $ ($DateRange * $Multiplier)»
}
# инкремент множитель
$Multiplier++
# до тех пор пока оно не иметь значение
} Пока ($IntervalString - "" eq)
} Еще {
$IntervalString = «N/A»
}
# произведите выход
$ _ | Выбирать-Предмет DN, UserPrincipalName, DisplayName, LastLogonTimeStamp, WhenCreated,
@ {e= n='BusinessUnit'; {ForEach ($Name в $BU) {если ($_.DN - сопрягайте «OU=$Name, ") {$Name}}, то}},
@ {e= n='Range'; {$IntervalString}}
# экспорт оно все к CSV using плата как разграничитель
} | Ехпортируйте-CSV `t разграничителя «SomeFile.csv» - NoTypeInformation -
|