 |
|
Выборка пользователей с атрибутом accountExpires < текущей даты АД
Доброе время суток!
собственно задача в названии темы.
вот скрип
Код:
$date = get-date -Format G
Get-ADUser -Filter * -Properties accountExpires| select name, @{label='accountExpires';e={[DateTime]::FromFileTime($_.accountExpires)}} | Where-Object {$_.accountExpires -Gt "1/1/1601 6:00:00 AM" -and [datetime]::FromFileTime($_.accountExpires) -lt $date }
При запуске скрипта вываливается ошибка:
Цитата:
Cannot convert argument "0", with value: "2/16/2017 12:00:00 AM", for "FromFileTime" to type "System.Int64": "Cannot convert value "2/16/2017 12:00:00 AM" to type "System.Int64". Error: "Invali
d cast from 'DateTime' to 'Int64'.""
At line:1 char:265
+ Get-ADUser -Filter * -Properties accountExpires| select name, @{label='accountExpires';e={[DateTime]::FromFileTime($_.accountExpires)}} | Where-Object {$_.accountExpires -Gt "1/1/1601 6:00:00 AM" -and [datetime]::FromFileTime <<<< ($_.accountExpires) -lt $date }
+ CategoryInfo : NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument
|
подскажите где ошибка?
|
Код:
$date = Get-Date
Get-ADUser -LDAPFilter "(&(!accountExpires=0)(!accountExpires=9223372036854775807))" -Properties accountExpires| select name, @{n='accountExpires';e={[DateTime]::FromFileTime($_.accountExpires)}} | Where-Object {$_.accountExpires -lt $date }
или
Код:
Get-ADUser -Filter {AccountExpirationDate -lt $date}
или
Код:
Get-ADUser -Filter "AccountExpirationDate -lt '$(Get-Date)'"
|
Kazun, странно, в тестовой среде все перечисленные команды отработали правильно.
А в продуктиве первая команда вытащила всех юзеров у которых атрибут accountExpires = 1/1/1601 6:00:00 AM, хатя в фильтре указано таких не выводить, как так получилось?
Остальные две команды вообще ничего не вывели.
и в тесте и в продуктиве DC 2008R2
|
Все разобрался, почему то при запуске скрипта на самом контролере не работает, запустил скрипт с рабочей машины, все работает. Что то консолью Powershell_ise на ДС :)
|
Время: 17:59.
© OSzone.net 2001-