сертификаты get-aduser странная ошибка - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь получить список пользователей AD со свойством «сертификаты».Но когда я делаю

$users = Get-ADUser -searchbase "CN=Users,DC=mydomain,DC=com" -filter * -Properties “Certificates”

Я получаю странную ошибку

Get-ADUser : Cannot find the requested object.
At line:1 char:10
+ $users = Get-ADUser -searchbase "CN=Users,DC=mydomain,DC=com" -filte ...
+          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-ADUser], CryptographicException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.Security.Cryptography.CryptographicException,Microsoft.Ac 
   tiveDirectory.Management.Commands.GetADUser

Когда я делаю это без переменной

Get-ADUser -searchbase "CN=Users,DC=mydomain,DC=com" -filter * -Properties “Certificates”

Яполучение списка пользователей и сертификатов и ошибка выше в конце списка.Но как я могу передать данные в переменную?Попытка с ошибкой, все еще безрезультатно.

Ответы [ 3 ]

0 голосов
/ 08 июня 2018

Я только что бросил имена пользователей samaccount в foreach.

$users = Get-ADUser -Filter * -SearchBase "CN=Users,DC=mydomain,DC=com" | select -ExpandProperty samaccountname

foreach ($u in $users) {
....
}
0 голосов
/ 09 июня 2018

Что произойдет, если вы используете Where-Object для команды следующим образом:

$users = Get-ADUser -SearchBase "CN=Users,DC=mydomain,DC=com" -Properties * | 
    Where-Object { $null -ne $_.Certificates } | 
    ForEach-Object { 
        # write out whatever properties you need for each user
    }
0 голосов
/ 08 июня 2018

Я получаю список пользователей и сертификатов и сообщение об ошибке выше в конце списка.Но как я могу передать данные в переменную?

Этот вопрос мне близок и дорог.

Я создал функцию (f), чтобы воссоздать эту проблему:

function f { write-output $(1..100); throw 'bs' }

Если вы запустите f, вы получите числа от 1 до 100, а затем исключение.У вас похожая ситуация;выведите потом бомбу.

Я никогда не находил хорошего способа справиться с этим.Вот что я делаю:

f 1> stuff.txt; $o = cat .\stuff.txt; rm stuff.txt -force

Числа должны идти на стандартный вывод и исключение на стандартный вывод.Или я так думаю.: -)

Я отправляю вывод (числа от 1 до 100) в файл, считываю файл в переменную и затем удаляю файл.Это дает вам вывод в виде переменной, но это очень хакерский и грубый.

Надеюсь, что кто-то публикует что-то лучше, но это должно помочь вам, если вы в затруднении.

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