Как установить атрибут Active Directory для пользователя, который не может изменить пароль с помощью .NET Core 3.1 / .NET 5.0 (из Windows и Linux)

Я пытаюсь перенести свое приложение, которое использует специфичную для Windows библиотеку System.DirectoryServices.AccountManagement, используя недавно портированную (Microsoft) System.DirectoryServices.Protocols, которая работает как в Windows, так и в Linux. Microsoft должна портировать AccountManagement библиотеку когда-нибудь в будущем, но кто знает, когда это произойдет. Вот почему мне нужно сделать это с библиотекой Protocols.

У меня проблема в том, что я не могу получить/установить атрибут/свойство для пользователя, не могу изменить параметр пользователя пароля.

Я нашел это решение Найти пользователей, которые не могут изменить свой пароль< /а>

Это решение работает нормально, я получаю свойство ntSecurityDescriptor, а затем использую предложенную логику в решении, чтобы преобразовать его и извлечь нужные данные, однако это решение для Windows, поскольку библиотеки, необходимые для типов RawSecurityDescriptor и ObjectAceType, не портированы для работы. на Линукс.

Кто-нибудь знает, как это сделать, может быть, есть какая-то уже совместимая с Linux библиотека, которую я могу использовать? Любая помощь приветствуется.


person ilic5000    schedule 10.02.2021    source источник