Como usar Show-command en PowerShell para administradores GUI
Conoce paso a paso como hacer uso de show-command en PoerShell para tener una interfaz gráfica de usuario para facilitarte la
¿Necesitas crear cuentas de usuarios masivas? ¿Necesitas eliminarlas? Te contamos como hacerlo en PowerShell en unos sencillos pasos.
Tabla de contenidos
Muchas veces necesitamos crear o eliminar una gran cantidad de cuentas de usuarios, para evitar tener que ir creando o eliminando cada cuenta, vamos a ver como hacerlo facilmente utilizando PowerShell una vez.
En esta práctica vamos a crear un script que nos permita crear cuentas de usuario y después eliminar las mismas. Para ello vamos abrimos PowerShell ISE como administrador, lo que hacemos desde el menú Inicio buscando la misma y ejecutándola.
Lo primero que tenemos que hacer es crear un fichero en el que se encuentren los usuarios. Para ello, por ejemplo, escribimos en la consola el comando notepad usuarios.csv, con lo que se creará ese archivo usando la aplicación Notepad.
Una vez creado ese archivo vamos a insertar en el mismo una lista con los usuarios y sus contraseñas, pero antes hay que escribir la cabecera, que es obligatoria. En el documento escribimos lo siguiente:
nombre,contra
usuario01,usuario01
usuario02,usuario02
usuario03,usuario03
Una vez hayamos introducido las cabeceras y los usuarios y contraseñas de prueba, guardamos el archivo, recordando que debe tener extensión .csv
.
Para comprobar que se ha creado correctamente, en la consola de PowerShell escribimos el comando Get-Content c:\...\usuarios.csv
, indicando la ruta en la que hemos guardado el archivo. Una vez ejecutado nos debe aparecer en pantalla el contenido que habíamos guardado en el archivo correspondiente.
Una vez tenemos el archivo creado, el siguiente paso será desarrollar una estructura que nos permita crear usuarios de forma masiva, y que además debe ser una estructura repetitiva. Este script lo haremos en el editor de PowerShell ISE, dónde iremos escribiendo el mismo.
Comenzamos creando un comentario que sea el siguiente:
#Creación de usuarios de forma masiva.
Después vamos a coger los datos, lo que haremos desde el fichero que creamos anteriormente, y eso lo haremos a través de una variable:
$usuarios=Import-Csv -Path c:\...\usuarios.csv
A continuación debemos tratar los datos obtenidos de ese fichero. Lo haremos con una variable de control llamada i
y construyendo un comando para crear usuarios con clave.
Para crear un usuario con contraseña se necesita encriptar la misma, lo que se hace con el comando ConvertTo-SecureString
, en el que se indica que la contraseña es texto plano y que se fuerce esa encriptación.
Una vez tenemos la contraseña, pasamos a crear el usuario, al que asignamos la contraseña previamente creada e indicamos que nunca expire ni la cuenta ni la contraseña asociada. También hacemos que estos usuarios puedan acceder al escritorio.
foreach ($i in $usuarios)
{
$clave=ConvertTo-SecureString $i.contra -AsPlainText -Force
New-LocalUser $i.nombre -Password $clave -AccountNeverExpires -PassNeverExpires
Add-LocalGroupMember -Group usuarios -Member $i.nombre
}
Finalmente el script queda de la siguiente forma:
#Creación de usuarios de forma masiva.
$usuarios=Import-Csv -Path c:\...\usuarios.csv
foreach ($i in $usuarios)
{
$clave=ConvertTo-SecureString $i.contra -AsPlainText -Force
New-LocalUser $i.nombre -Password $clave -AccountNeverExpires -PassNeverExpires
Add-LocalGroupMember -Group usuarios -Member $i.nombre
}
Vamos a entender paso a paso el mismo. Lo primero que necesitamos es coger los datos de un fichero, lo que hacemos en la línea 2, de forma que lea el archivo indicado y que lea los datos que contiene.
Después, como a cada línea de ese fichero debe crear un usuario, debe ir tomando los datos poco a poco. Para ello toma la contraseña del primer usuario y la convierte en clave segura, crea el usuario con el nombre que aparece en el fichero y le asigna la contraseña ya segura.
Además le genera las opciones de que la cuenta nunca expire y la contraseña tampoco, y lo añade al grupo de usuarios.
Guardamos este script con el nombre creaciondeusuarios.ps1, lo ejecutamos en la consola de PowerShell ISE y comprobamos que se crean los tres usuarios que habíamos indicado inicialmente.
Si queremos comprobar que se han creado correctamente, escribimos el comando get-localuser
y nos aparecen los tres usuarios (usuario01, usuario02 y usuario03).
Vamos a ver cómo eliminar las cuentas de usuario de forma masiva, lo que haremos de forma también muy sencilla.
Para ello vamos a generar el siguiente script:
#Creación de usuarios de forma masiva.
$usuarios=Import-Csv -Path c:\...\usuarios.csv
foreach ($i in $usuarios)
{
Remove-LocalUser $i.nombre
}
Una vez lo tenemos creado lo ejecutamos y comprobamos que ha funcionado. Para ello ejecutamos el comando get-localuser
y comprobamos que no aparece ninguno de los usuarios que anteriormente se habían creado.
Si quieres aprender en profundidad PowerShell, puedes hacer el Curso de PowerShell para principiantes de nuestro profesor experto, Manuel Fco Domínguez.
Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.
También te puede interesar
Conoce paso a paso como hacer uso de show-command en PoerShell para tener una interfaz gráfica de usuario para facilitarte la
En este artículo vas a descubrir cómo poder exportar datos utilizando algunos de los potentes comandos que incluye la consola de PowerShell.
Aprende a utilizar PowerShell desde cero con este curso de PowerShell para principiantes y saca todo el potencial...