Как я могу добавить компьютер в домен программно (используя .NET)? - PullRequest
5 голосов
/ 14 июня 2010

Мне нужно написать программу или скрипт, который делает несколько вещей с (или с) сервером после установки Windows.Среди них добавление сервера в домен.

Есть ли способ сделать это программно или с помощью команды сценария?

Ответы [ 3 ]

2 голосов
/ 14 июня 2010

Если вы хотите сделать это с контроллера домена:

Источник: net computer \\computername /add

Если вы хотите сделать это с рабочей станции:

Источник: NETDOM JOIN /DOMAIN:[DOMAINNAME] /USERD:[USERNAME] /PASSWORDD:[PASSWORD]

1 голос
/ 14 июня 2010

Это нелегко, если вы пишете программу, но это возможно, и вы можете найти соответствующие примеры кода.

Прежде всего вы должны создать учетную запись компьютера в домене. Для этого вы можете использовать функцию NetUserAdd. Соответствующий пример кода вы найдете под http://msdn.microsoft.com/en-us/library/aa370254%28VS.85%29.aspx. Если у вас уже есть новая учетная запись компьютера в Active Directory (в любом случае) в соответствующем подразделении назначения, вы можете пропустить этот шаг. Вы должны только понимать, какой пароль имеет эту учетную запись (пароль будет создан на основе имени компьютера, подробности см. В примере кода).

Далее вы должны получить SID домена, к которому вы добавляете компьютер, и в конце вы должны использовать так называемый LSA API, чтобы все работало локально с LsaSetTrustedDomainInformation. Соответствующий пример кода вы можете найти в http://support.microsoft.com/kb/145697.

Если вам необходимо создать учетную запись компьютера в домене, будьте осторожны, чтобы вы все время работали с одним и тем же контроллером домена. В противном случае вы можете столкнуться с небольшой проблемой, пока новая учетная запись не будет реплицирована на следующий контроллер домена, который вы используете (достаточно небольшого цикла ожидания с повторными попытками).

P.S. Если у вас возникнут проблемы с реализацией, вы можете задать мне дополнительный вопрос по этому вопросу.

0 голосов
/ 14 июня 2010

Я не знаю, как это сделать сам, но, возможно, взгляните на исходный код Samba .

Если я правильно помню, в дистрибутив Samba входит утилита командной строки, которая делает именно то, что вы хотите (она может добавлять хосты в домен); Я не могу вспомнить точное название утилиты, но она все еще должна быть там. Я думаю, что его целью была автоматическая миграция старого домена Windows NT на Samba!

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