#c# #gmsa
#c# #gmsa
Вопрос:
Я попытался найти пример кода на c #, чтобы увидеть, как создается учетная запись службы рекламы, но безуспешно. Кто-нибудь может предоставить пример кода для создания учетной записи службы рекламы, пожалуйста?
Я пробовал UserPrincipal с $ в конце имени, но без особой удачи. Ошибки с отказом в доступе (не удается создать под root MyDomain или под CN)
// Domain Context to use specific LDAP path.
domainContext = new PrincipalContext(ContextType.Domain, domainContext.ConnectedServer, "CN=Managed Service Accounts,dc=mydomain");
UserPrincipal userAccount = new UserPrincipal(domainContext)
{
DisplayName = userName,
SamAccountName = $"{userName}$",
Description = description
};
userAccount.Save();
Комментарии:
1. Что происходит, когда вы запускаете приведенный выше код? Что-нибудь происходит? Есть ли какая-либо ошибка?
2. Когда я пытаюсь запустить приведенный выше код, выдает ошибку «Доступ запрещен». В основном потому, что я не могу создать учетную запись в разделе «mydomain» напрямую или под CN, который настроен для MSAS.
3. Похоже, проблема с авторизацией
4. Можете ли вы создать учетную запись с помощью powershell? learn.microsoft.com/en-us/previous-versions/windows/it-pro /…
5. Я могу создавать учетные записи без каких-либо проблем в powershell, используя new-adserviceaccount, который сопоставляет учетную запись с учетными записями CN = Managed Service. Однако я хотел найти собственный способ создания учетной записи на c # вместо вызова powershell.
Ответ №1:
Немного поздно, но я думаю, что смогу ответить на этот вопрос. Вам нужно использовать функцию NetAddServiceAccount через logoncli.dll . Я не смог заставить ее работать в PowerShell, даже добавив, как я думал, подходящую прокладку типа, но я только что наткнулся на модуль, который, кажется, работает.
https://github.com/beatcracker/Powershell-Misc/blob/master/Use-ServiceAccount.ps1
В коде C # для определения типа в этом скрипте должно быть все, что вам нужно для самостоятельной реализации.
Комментарии:
1. Где можно найти logoncli.dll ? После того, как вы нашли, как вы предлагаете ее использовать в C #?
2. Там же, где вы найдете большинство других системных библиотек. Попробуйте system32. Вероятно, вам нужно научиться использовать вызовы win32 API в c #. Если вам нужно спросить…