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

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

这是我用来从 Active Directory 中的用户中查找 LogOn 属性的 PowerShell 脚本。现在,我希望它只在特定 OU 中搜索,而不是获取所有用户。域如下所示:域 - OU(用户和组)- OU(用户,用户和组 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

答案1

SearchRoot为搜索器对象的属性分配一个值。

$as.SearchRoot = "LDAP://dc=fabrikam, dc=com"

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

答案2

我使用以下命令通过 Powershell 从特定 OU 查找登录信息

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 中所有用户帐户的名称和 LastLogonDate,然后将内容导出到 C: 根目录中的 .CSV 文件中。

-SearchBase 是上面一行代码中的关键。通过它,您可以指定要搜索的特定 Active Directory 路径。

相关内容