24 lines
896 B
PowerShell
24 lines
896 B
PowerShell
|
<#
|
||
|
.Synopsis
|
||
|
Identify accounts with passwords set not to expire
|
||
|
.DESCRIPTION
|
||
|
Searches Active Directory for user accounts the have the flag set to allow the password never to expire
|
||
|
.EXAMPLE
|
||
|
PS C:\> Pass-NotExp
|
||
|
#>
|
||
|
function Get-PassNotExp
|
||
|
{
|
||
|
$strFilter = '(&(objectCategory=User)(userAccountControl:1.2.840.113556.1.4.803:=65536))'
|
||
|
$objDomain = New-Object System.DirectoryServices.DirectoryEntry
|
||
|
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
|
||
|
$objSearcher.SearchRoot = $objDomain
|
||
|
$objSearcher.PageSize = 1000
|
||
|
$objSearcher.Filter = $strFilter
|
||
|
$colProplist = 'name'
|
||
|
Write-Output 'Users with Password set NOT to Expire'
|
||
|
Write-Output '====================================='
|
||
|
foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
|
||
|
$colResults = $objSearcher.FindAll()
|
||
|
foreach ($objResult in $colResults)
|
||
|
{$objItem = $objResult.Properties; $objItem.name}
|
||
|
}
|