Powershell脚本 – 查找LogOn属性 – 如何从特定的OU?

这是我用来从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" 

更多https://technet.microsoft.com/en-us/library/ff730967.aspx

我通过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。