Это сценарий PowerShell, который я использую, чтобы найти атрибут LogOn у пользователей в Active Directory. Теперь вместо того, чтобы получать всех пользователей, я хочу, чтобы он выполнял поиск только в определенном 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
Присвойте значение SearchRoot
свойство объекта поиска.
$as.SearchRoot = "LDAP://dc=fabrikam, dc=com"
Больше на https://technet.microsoft.com/en-us/library/ff730967.aspx
Я нахожу информацию о входе в систему из определенного подразделения через Powershell, используя следующие
Get-ADUser -Filter * -SearchBase "OU=SpecificOU,OU=ContosoUsers,DC=Contoso,DC=local" -Properties * | Select-Object -Property Name, lastlogondate | Export-Csv C:\lastlogon.csv
Вышеупомянутый однострочный файл создаст имя и LastLogonDate для всех учетных записей пользователей в SpecificOU в подразделении ContosoUsers в домене Active Directory Contoso.local, а затем экспортирует содержимое в файл .CSV в корень C: .
-SearchBase - это ключ в однострочном выше. С его помощью вы можете указать конкретный путь Active Directory для поиска.