Я надеюсь запрашивать AD через Powershell для наблюдения всех учетных записей пользователей в моем лесу, кому установили их пароль, чтобы никогда истечь.
Я нашел несколько сценариев онлайн с помощью быстрого поиска Google, но ни один из них, кажется, не работает как ожидалось. Я затем нашел следующий technet (https://technet.microsoft.com/en-us/library/finding_users_whose_password_never_expires%28v=ws.10%29.aspx) однако, когда я выполняю строку:
Search-ADAccount -PasswordNeverExpires | FT Name,ObjectClass -A
Я только получаю очень небольшое количество результатов, и я знаю, что возвращенный список пропускает большое количество пользователей, которых я знаю, установили эту опцию.
Кто-то может сказать мне, что является неправильным с этим сценарием или какова причина небольшого набора результатов могла быть?
Я использую следующее, и оно работает.
get-aduser -filter * -properties Name, PasswordNeverExpires | where { $_.passwordNeverExpires -eq "true" } | where {$_.enabled -eq "true"}
Он ищет в базе данных AD пользователя с параметром «PasswordNeverExpires», установленным в «True», затем возвращает результаты в консоли Powershell.
отредактируйте формулировку и неправильный командлет и добавьте ниже Чтобы очистить результаты, добавьте это в конец приведенного выше кода PowerShell
| Format-Table -Property Name, PasswordNeverExpires -AutoSize
Вы можете использовать что-то вроде этого:
Get-ADUser -filter { (PasswordNeverExpires -eq $true) -and (enabled -eq $true)} -searchbase "OU=,OU=,DC=,DC=" -Properties Surname,givenname, userprincipalName,PasswordNeverExpires| FT Name,ObjectClass,PasswordNeverExpires -A
Поскольку я работаю в среде с несколькими доменами:
$domains = (Get-ADForest).domains
$Members = foreach ($domain in $domains) {
Get-ADUser -server $domain -filter {PasswordNeverExpires -eq "TRUE"} -Properties PasswordNeverExpires | select name,samaccountname,PasswordNeverExpires,mail | Where-Object {$_.PasswordNeverExpires -like "True"} |Export-Csv -Path "c:\temp\Never_Expire-$domain.csv" -NoTypeInformation }
Для одного домена:
Get-ADUser -filter {PasswordNeverExpires -eq "TRUE"} -Properties PasswordNeverExpires | select name,samaccountname,PasswordNeverExpires,mail | Where-Object {$_.PasswordNeverExpires -like "True"} |Export-Csv -Path "c:\temp\Never_Expire.csv" -NoTypeInformation }