Código de PowerShell para administrar masas a los objetos de Active Directory como usuarios, grupos y computadoras. Es una herramienta de consola muy básica en este momento, pero en mi línea de trabajo la encontré muy potente, ya que los usuarios y computadoras de Active Directory carecen de algunas características importantes.
Para facilitar el trabajo del usuario, puede traducir la estructura domainOUOU más amigable con el usuario en el nombre Distinguished, que se requiere en las consultas para recolectar objetos de un OU. También puede manejar todas las excepciones (OU inexistentes, que no tiene el tipo de objeto consultado, el nombre de usuario, el nombre de grupo, no hay suficientes derechos para modificar grupos, crear archivos) que encontré hasta ahora. Notifica al usuario de salidas exitosas, parcialmente exitosas y sin éxito de las operaciones. También utiliza una propia carpeta (anuncio, por defecto, se crea en la raíz de la unidad D:, pero el usuario puede modificarlo) para que no desacalde el disco duro del usuario.
¿Funciona sin RSAT (herramientas de administración de servidor remoto) instaladas en la computadora?
Sí, y no. Básicamente, fue diseñado para usarse en una computadora que tiene RSAT instalada, pero puede funcionar sin ella. Para que funcione, necesitará Microsoft.ActiveDirectory.Management.dll , y Microsoft.ActiveDirectory.Management.resources.dll para que se coloque en la misma carpeta que el archivo PS1. Obviamente, no puedo compartir estas DLL (no hace falta decir que nunca debe descargar DLL de ninguna fuente no confiable), pero si las obtiene, el programa funcionará sin RSAT. Si una PC no ha instalado RSAT, ni estas dos DLL en la misma carpeta que el archivo PS1, el programa no se ejecutará en absoluto (verifica estas dos condiciones al principio, y si no se cumple, no le permitirá continuar).
¿Dónde puedo encontrar estas dlls?
Irónicamente, necesitará una computadora que tenga RSAT instalada. Las DLL están en sus carpetas con el mismo nombre en C:WindowsMicrosoft.NETassemblyGAC_64 o GAC_32 en el caso de 32 bits OS.
¿Qué idiomas son compatibles?
El programa apoya el inglés y el húngaro. Como mi idioma nativo es húngaro, la traducción al inglés probablemente tiene errores gramaticales y de otro tipo, aunque espero que no tantos. Los comentarios también están en inglés. En caso de que te gustaría ayudarme con una traducción a tu idioma, estaría muy agradecido, pero por mi cuenta no haré otras traducciones.
¿Planea agregar funciones como agregar un usuario a un grupo?
Planeo agregar más funciones, pero solo las que amplían la funcionalidad de ADUC (usuarios de Active Directory y computadoras), no veo ningún punto en implementar características que ya funcionen bien en él. Sin embargo, estoy abierto a sugerencias que pueden hacer que este programa sea más útil.
Es bueno y todo, pero ¿hablas en serio que cada vez que me gustaría usarlo, tengo que ejecutar el script desde la línea de comandos? ¿No podría ser un ejecutable adecuado?
De acuerdo, esta podría ser una pregunta para principiantes que nadie en este sitio preguntaría, pero como lo he puesto allí, la responderé. Puede compilar el archivo PS1 a un ejecutable con PS2Exe en cualquier momento que desee. https://gallery.technet.microsoft.com/scriptcenter/ps2exe-gui-convert-e7cb69d5 No intente usar la versión GUI de los ex compilados, sin embargo, en este caso, eso realmente no funciona tan previsto.
Funciones, mejoras
Otros planes
En un futuro muy muy lejano, planeo reescribir el código para tener una GUI. Consideré tanto C# como PowerShell, pero no estoy completamente seguro de si realmente lo haré. Mi objetivo principal con este programa era dar a los administradores (nombrar a mis colegas con conocimiento de cero PowerShell) una herramienta gratuita que pueden usar incluso cuando las aplicaciones de terceros están prohibidas. Como solo es un guión de PowerShell (sin embargo, uno más largo, pero aún así), probablemente esté permitido usar a todos los derechos de administración en su directorio activo. Pero realmente no estoy seguro de si lo mismo sería cierto sobre un programa que también usa bibliotecas C#, en lugar de confiar únicamente en PowerShell.
Por supuesto, espero con ansias sugerencias de características, informes de errores o cualquier otra cosa que desee agregar.