я пытаюсь получить следующие поля из AD с помощью powershell - PullRequest
0 голосов
/ 21 мая 2019
Import-Module activedirectory


$Name = "Larry Page"
$Searcher = [ADSISearcher]"(&(objectCategory=person)(objectClass=user)(cn=$Name))"
[void]$Searcher.PropertiesToLoad.Add("sAMAccountName")
$Results = $Searcher.FindAll()
ForEach ($User In $Results)
{
    $NTName = $User.Properties.Item("sAMAccountName")
    $CompanyName = $User.Properties.Item("company")
    $NTName + " " + $CompanyName
    [string]$userName = $NTName.properties.name
    Get-ADUser "L2371732" -Properties company,PasswordExpired, PasswordLastSet, PasswordNeverExpires

}

Пока это мой код. Я пытаюсь заменить $ userName на L2371732 в следующей строке, но я получаю другую ошибку, поэтому я жестко закодировал имя пользователя в Get-ADUser.

Мне нужны только те поля, которые я указал, однако я получаю все (компания, отличительное имя, включено и т. Д.)

1 Ответ

1 голос
/ 21 мая 2019

Просто пытаюсь сосредоточиться на заглавной части вопроса.

Согласно документации -Properties выполняет следующее:

Определяет свойствавыходной объект для извлечения с сервера.Используйте этот параметр для получения свойств, которые не включены в набор по умолчанию .

Таким образом, вы увидите то, что вы просили в дополнение к набору по умолчанию.Если вам не нужны эти свойства, вы можете сбросить их, набрав Select-Object и запросить только то, что вам нужно.

$props = 'company', 'PasswordExpired', 'PasswordLastSet', 'PasswordNeverExpires'
Get-ADUser "L2371732" -Properties $props | Select-Object $props

Если вы также хотите вернуть свойство по умолчанию, например, samaccountname, вы можете добавить его в список без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...