01.03.2024

Administrar usuarios a través de PowerShell

La administración de los sistemas de información está indisolublemente ligada al uso de la interfaz de línea de comandos. Muchos servidores en redes corporativas o centros de datos no tienen un shell gráfico porque representan una carga innecesaria para el sistema. Y tampoco siempre contribuye a una solución rápida o eficaz de la tarea.

Cada sistema operativo en un servidor en la nube o estación de trabajo tiene su propia CLI shell con sintaxis y semántica específicas. En este tutorial, veremos el shell propietario de PowerShell, que es un desarrollo de Microsoft y se utiliza activamente en Windows distribuciones.

Más detalladamente, PowerShell es un programa orientado a objetos.ramLenguaje Ming que está integrado con el sistema operativo y le permite interpretar comandos de alto nivel en comandos de bajo nivel sin conocer todos los mecanismos de interacción del sistema.sms. ¡También facilita mucho la administración de usuarios en una red de área local o una red de dominio!

¿Qué son los cmdlets de PowerShell?

Comandlets o comandos en PS son un conjunto sintáctico verbo-sustantivo que representan una acción y un objeto de interacción. Por ejemplo, necesitamos crear un nuevo usuario para un grupo de trabajo o una máquina local. Para hacer esto, podemos usar el comando:

Nuevo usuario local -Nombre GG

Captura de pantalla n.º 1: nuevo usuario local

Lo que permite, al utilizar el cmdlet New-LocalUser con el -Name parameters y el valor GG pasado, para crear un nuevo usuario en el sistema. Los comandos acceden a objetos del sistema operativo y devuelven solo información sobre ellos; para encontrar nuevos comandos utilice el Consigue ayuda comando o lea las instrucciones más detalladas sobre cómo usar PS.

Trabajar con módulos en PowerShell

Antes de empezar a trabajar, es necesario actualizar. Consigue ayuda, porque si quieres entender el material por tu cuenta, no será fácil sin nuevos paquetes-instrucciones. Actualicemos los paquetes actuales con Obtener actualización Comando e instale otros nuevos:

Obtener actualización

Captura de pantalla n.º 2: Actualizar la página de ayuda

Puede utilizar la base de datos recién actualizada para encontrar usted mismo los comandos necesarios:

Usuario de Obtener ayuda

¡Para buscar comandos que tengan la palabra clave usuario en su nombre o descripción!

¡Tenga en cuenta! Actualmente, casi todos los cmdlets están estructurados y organizados en módulos, que son carpetas funcionales. Por ejemplo, el sistema operativo tiene un módulo Microsoft.PowerShell.LocalAccounts, que almacena todos los cmdlets relacionados con la administración de usuarios en máquinas locales sin dominio. Esto también ayuda a encontrar el cmdlet correcto. Para ver la lista completa de módulos instalados y disponibles, cárguela mediante el cmdlet:

Obtener-Módulo -ListAvailable

Puede haber muchos módulos diferentes en la salida, para encontrar el que necesita necesita usar un filtro a través de pipline. En otras palabras, la salida de un comando como objeto se pasa a otro y se filtra:

Obtener-Módulo -ListAvailable | Nombre del objeto donde, como "*LocalAccounts*"

Captura de pantalla №3: Filtrado

Además, en muchos materiales puedes encontrar una construcción desordenada {$_.Name -like "*LocalAccounts"}. Podemos usar uno nuevo en su lugar, simplemente especificando el objeto o columna actual para filtrar y un parameter con una condición.

Nota La consulta clave contiene asteriscos, que representan una máscara, cualquier signo y cantidad. Ampliando así la búsqueda de valores.

¿Cómo creo usuarios a través de PowerShell?

Pasemos a uno de los módulos discutidos anteriormente y revisemos todos sus comandos:

Get-Command -módulo Microsoft.PowerShell.LocalAccounts

Captura de pantalla №4: Lista de comandos

Cada uno de los comandos tiene sus propias numerosas opciones, que ayudan a realizar más ajustes o acciones en el objeto. Para ver usaremos Consigue ayuda, pero antes de eso necesitamos implementar el servidor donde realizaremos las pruebas. Para garantizar que nuestros experimentos no afecten al sistema principal. Pasemos a crear un VPS servidor en cualquiera de las dos plataformas vStack Cloud or VMware Cloud. CliMarque el botón Crear Servidor y seleccione una configuración que se adapte a nuestras necesidades, luego cliMarque el botón Ordenar.

Captura de pantalla №5: Crear máquina

Después de un tiempo, los servidores estarán disponibles a través de cualquiera de los métodos de conexión principales, para las tareas actuales. Windows Se ha elegido un sistema operativo con centro de datos en Estambul.

Veamos información detallada sobre las opciones y argumentos aceptados por el comando New-LocalUser:

Obtener ayuda Nuevo usuario local

Captura de pantalla №6: Ayuda del comando

Es muy importante poder leer la sintaxis de un comando para entender cómo usarlo. En este caso se describe que además de utilizar el propio comandolet podemos agregar opciones:

Por ejemplo, para una PC local necesitamos crear un usuario y darle derechos de Administrador, para ello escribiremos el comando:

Nuevo usuario local -Nombre GG

Captura de pantalla №7: Crear usuario local

Creamos un usuario con pa estándarramEters sin fechas de caducidad de contraseña u otros argumentos, en este caso -Nombre como requisito mínimo.

¿Cómo agregar usuarios a un grupo mediante PowerShell?

Luego asignamos el usuario al administradores grupo y comprobar la corrección de las acciones realizadas:

Add-LocalGroupMember -Group Администраторы -Member GG
Get-LocalGroupMember -Administradores de grupo

Captura de pantalla №8: Agregar miembro al grupo

¡En el formulario visual que se muestra podemos ver el usuario recién creado y agregado en el sistema! Pero este módulo, como su nombre indica, funciona solo con usuarios locales; para la función de servidor AD necesitamos un módulo separado que se ocupará del dominio del controlador.

¿Cómo agrego un usuario a AD a través de PowerShell?

Primero, busquemos el módulo adecuado para el trabajo y filtremos los valores:

Obtener-Módulo -ListAvailable | Donde-Nombre del objeto -como "*Activo*"

Captura de pantalla №9: módulo de búsqueda AD

Al darse cuenta de antemano de que hay innumerables comandos en este módulo, es necesario ordenarlos con anticipación. Sólo necesitamos aquellos cmdlets que mencionan usuario y grupo. Por tanto, usuario y grupo:

Get-Command-módulo ActiveDirectory | Donde-Nombre del objeto -como "*Usuario*"

Y el comando apropiado para el grupo:

Get-Command-módulo ActiveDirectory | Donde-Nombre del objeto -como "*Grupo*"

Captura de pantalla n.º 10: comprobar comandos

En el primer campo vemos el comando New-ADUser, mediante el cual procederemos a crear una nueva entidad e inmediatamente estableceremos una contraseña:

Nuevo usuario ADU
Establecer contraseña de cuenta AD

Captura de pantalla №11: Agregar usuario con contraseña

Después de ingresar la contraseña dos veces, agreguemos el usuario al grupo y verifiquemos si nuestras acciones son correctas:

Agregar ADGroupMember
Obtener-ADGroupMember

Captura de pantalla n.º 12: Agregar usuario como miembro del grupo

¡En las capturas de pantalla podemos ver que las acciones realizadas desde la cuenta de administrador se realizaron correctamente!

La administración de redes de información a través de la interfaz de línea de comandos, en particular mediante PowerShell, ofrece una serie de ventajas, como una reducción de la carga en el sistema, una solución de tareas más rápida y eficiente y una gestión simplificada de los usuarios en las redes locales y de dominio. Los cmdlets de PowerShell automatizan las operaciones básicas, haciendo que el trabajo del administrador sea más productivo y conveniente.