2010-06-14 27 views
5

Necesito escribir un programa o secuencia de comandos que hace algunas cosas con (o para) un servidor después de una instalación de Windows. Entre ellos está agregar el servidor a un dominio.¿Cómo puedo agregar una computadora a un dominio mediante programación (usando .NET)?

¿Hay alguna manera de hacer esto mediante programación o mediante el uso de un comando de script?

+3

Esto suena más relacionado con TI. ServerFault es probablemente el mejor lugar para preguntar: http://serverfault.com. –

Respuesta

2

Si quieren hacerlo desde el controlador de dominio:

Source:net computer \\computername /add

Si quieren hacerlo desde la estación de trabajo:

Source:NETDOM JOIN /DOMAIN:[DOMAINNAME] /USERD:[USERNAME] /PASSWORDD:[PASSWORD]

+0

¿No le pediría este comando una contraseña? ¿Cómo le doy una contraseña de una rutina de llamadas? –

+1

@Andrew: en mi trato con las secuencias de comandos del comando 'net', asume credenciales basadas en el usuario que lo está ejecutando. Por ejemplo, si inició sesión en una máquina de dominio e intentó asignar una unidad de red a otra máquina ('net use x: \\ ComputerName \ ShareName'), usaría sus credenciales de dominio/token para intentar acceder a esa acción. Por lo tanto, si tiene este script ejecutado como un usuario de dominio con los permisos adecuados, no se le debe solicitar ni solicitar ingresar ninguna credencial. – Jaxidian

+0

¿Cómo ejecutaría la secuencia de comandos como un usuario de dominio antes de que la computadora se haya agregado al dominio? –

0

No sé cómo hacerlo yo mismo, pero quizás eche un vistazo al código fuente de Samba.

Si mal no recuerdo, la distribución de Samba incluye una utilidad de línea de comandos que hace exactamente lo que desea (puede agregar hosts a un dominio); No recuerdo el nombre exacto de la utilidad, pero aún debería estar allí. ¡Creo que su propósito era migrar automáticamente un viejo dominio de Windows NT a Samba!

1

No es fácil si escribe un programa, pero es posible y puede encontrar los ejemplos de código correspondientes.

Antes que nada deberías crear una cuenta de computadora en el dominio. Para hacer esto, puede usar la función NetUserAdd. El ejemplo de código correspondiente se encuentra en http://msdn.microsoft.com/en-us/library/aa370254%28VS.85%29.aspx. Si tiene una nueva cuenta de computadora ya creada en Active Directory (de cualquier manera) en la unidad organizativa de destino correspondiente, puede omitir el paso. Solo debe comprender qué contraseña tiene esta cuenta (la contraseña se construirá en base al nombre de la computadora, vea el ejemplo de código para más detalles).

siguiente que debe tener SID del dominio al que se agrega la computadora, y al final se debe utilizar llamado así LSA API para hacer todo el trabajo a nivel local con respecto a LsaSetTrustedDomainInformation. El ejemplo de código correspondiente que puede encontrar en http://support.microsoft.com/kb/145697.

Si tiene que crear una cuenta de omputer en el dominio, tenga cuidado de que todo el tiempo funcione con el mismo controlador de dominio. De lo contrario, puede tener un pequeño problema hasta que la nueva cuenta se replique en el siguiente controlador de dominio que utilice (un pequeño bucle de espera con reintentos puede ser suficiente).

P.S. Si recibe algunos problemas con la implementación, puede hacerme una pregunta adicional sobre este tema.

Cuestiones relacionadas