Microsoft Active Directory — получение отображаемого имени пользователя с помощью [System.DirectoryServices.AccountManagC#

Место общения программистов C#
Ответить
Anonymous
 Microsoft Active Directory — получение отображаемого имени пользователя с помощью [System.DirectoryServices.AccountManag

Сообщение Anonymous »

В течение некоторого времени я пытаюсь найти ошибку в своем AD.
Мне нужно запустить программное обеспечение, использующее .NET 6 [System.DirectoryServices.AccountManagement. UserPrincipal]::Current, чтобы получить отображаемое имя текущего пользователя. Это работает, если я вошел в систему как администратор домена, но не работает для пользователей по умолчанию.
В только что настроенном домене это также работает нормально для всех пользователей.
У кого-нибудь из вас есть идеи, как это исправить? Переделать весь домен сейчас невозможно.
Если я попытаюсь сделать следующее в PowerShell:

Код: Выделить всё

Import-Module ActiveDirectory
$user = Get-ADUser -Identity "deinBenutzername" -Properties DisplayName
$user.DisplayName
он ​​работает, несмотря на то, что я обычный пользователь.
Если я попробую использовать права пользователя по умолчанию:

Код: Выделить всё

Add-Type -AssemblyName "System.DirectoryServices.AccountManagement"
$context = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Domain)
$userPrincipal = [System.DirectoryServices.AccountManagement.UserPrincipal]::Current
$displayName = $userPrincipal.DisplayName
Вывод, который я получаю:

Указанный атрибут службы каталогов или
значение службы каталогов не соответствует существовать . В строке:2 символа:1
  • $userPrincipal = [System.DirectoryServices.AccountManagement.UserPrin ...
  • Код: Выделить всё

      + CategoryInfo          : OperationStopped: (:) [], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
    
Это означает: указанный атрибут или значение службы каталогов не существует



Это означает: указанный атрибут или значение службы каталогов не существует. p>
Если я попробую это сделать в качестве администратора домена, это сработает!
Я тоже пробовал:
  • Добавление разрешения на полный доступ к SELF для тестового пользователя (выход из системы, перезапуск и все это)
  • Добавление разрешения на полный доступ к самой учетной записи (Domain\Testuser...)
  • Добавление разрешения на чтение для чтения всех пользователей/атрибутов AD


Подробнее здесь: https://stackoverflow.com/questions/790 ... oryservice
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»