Powershell - Найдите, что все пользователи с паролем никогда не истекают

Я надеюсь запрашивать 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

Я только получаю очень небольшое количество результатов, и я знаю, что возвращенный список пропускает большое количество пользователей, которых я знаю, установили эту опцию.

Кто-то может сказать мне, что является неправильным с этим сценарием или какова причина небольшого набора результатов могла быть?

4
задан 20 October 2015 в 14:40
3 ответа

Я использую следующее, и оно работает.

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
5
ответ дан 3 December 2019 в 02:57

Вы можете использовать что-то вроде этого:

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
2
ответ дан 3 December 2019 в 02:57

Поскольку я работаю в среде с несколькими доменами:

$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 }
1
ответ дан 4 September 2020 в 17:10

Теги

Похожие вопросы