这是我用来从Active Directory中的用户查找LogOn属性的PowerShell脚本。 现在,而不是让所有的用户,我希望它只能在特定的OU进行search。 该域看起来像这样:域 – OU(用户和组) – OU(Users和OU中的用户,OU)
$as = [adsisearcher]"(&(objectClass=person)(objectCategory=user))" $as.PropertiesToLoad.Add('cn') $as.PropertiesToLoad.Add('lastlogon') $as.PageSize = 200 $as.FindAll() | ForEach-Object { $props = @{ 'CN' = ($_.properties.item('cn') | Out-String).Trim() 'LastLogon' = ([datetime]::FromFiletime(($_.properties.item('lastlogon') | Out-String).Trim())) } New-Object psObject -Property $props } | Export-Csv 'Lastlogon.csv' -NoTypeInformation
将值分配给search器对象的SearchRoot属性。
$as.SearchRoot = "LDAP://dc=fabrikam, dc=com"
我通过Powershell使用以下命令从特定的OU中findLogOn信息
Get-ADUser -Filter * -SearchBase "OU=SpecificOU,OU=ContosoUsers,DC=Contoso,DC=local" -Properties * | Select-Object -Property Name, lastlogondate | Export-Csv C:\lastlogon.csv
上面的“单行”将为Active Directory域Contoso.local中的ContosoUsers OU下的SpecificOU中的所有用户帐户生成Name和LastLogonDate,然后将内容导出到C: 。
-SearchBase是上面一行的关键。 有了它,您可以指定一个特定的Active Directorypath来进行search。