1

Доброе утро. Я пытался собрать и выключить что-то в течение нескольких дней (что должно быть) просто с помощью PS, но я пока не смог понять все это. Я пытаюсь найти и получить информацию из ADSI с помощью PS. Когда я использую следующее в консоли PS:

Get-ADObject "CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com" -Properties *

Он возвращает свойства объекта, которым назначены значения (что является правильным), чтобы это работало. Но мне нужны дочерние элементы объекта AD, поэтому я пытаюсь добавить SearchScope:

Get-ADObject "CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com" -SearchScope OneLevel -Properties *

И я получаю сообщение об ошибке:

A positional parameter cannot be found that accepts argument "CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com"

Итак, я попробовал другой подход:

[string]$strCrLf = "`r`n"
[string]$strDoubleQuote = '"'
$ChildObjects = @()

$ParentObject = ([ADSI]"LDAP://CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com")
ForEach ($Child in $ParentObject.psBase.Children)
    {
    $ChildObjects += @("([ADSI]" + $strDoubleQuote + $Child.Path + $strDoubleQuote + ").distinguishedName" + $strCrLf)
    }

$ChildObjects | ForEach-Object {
    Invoke-Expression $_
    }

Вышесказанное возвращает отличительное имя дочерних элементов, но как получить дополнительные свойства дочерних элементов, такие как displayName, Name и whenCreated. Если я могу получить это, то я могу работать над помещением всего этого в массив, который может быть экспортирован в файл CSV или что-то еще. Мне нужно использовать что-то вроде LDAP вместо этого?

1 ответ1

1

Форматирование, которое вы делаете в первом цикле, на самом деле не является необходимым. Попробуйте использовать следующее:

$ChildItems = ([ADSI]"LDAP://CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com")

$ChildItems.psbase.Children | Format-Table Name, DisplayName, whenCreated | Out-File C:\test.csv

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .