PowerShell.¶
- Es el intérprete de comandos de Windows.
No confundir la consola de PowerShell con el CMD de Windows.
-
La extensión de sus ficheros es .ps1.
-
Se puede ejecutar como administrador haciendo botón derecho y "Ejecutar como Administrador".
-
El Powershell ISE es un entorno para crear los scripts a la vez que los ejecutamos y vemos sus resultados.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted.
Es posible que para poder ejecutar scripts se deba habilitar su uso con el comando Set-ExecutionPolicy -ExecutionPolicy Unrestricted.
Crear usuarios a partir de un CSV.¶
CSV.
Un fichero CSV es aquel que tiene un delimitador entre campos (, . : ;) y permite mostrarlo en formato columnas, por ejemplo con Excel.
La variable $_ hace referencia a los valores de las celdas que va leyendo de cada columna.
#Importa los datos de un fichero CSV.
Import-Csv .\ListUsersAD.csv | foreach-object {
#Datos del usuario a crear.
#Path indica la ruta LDAP donde se va a crear el usuario.
New-ADUser -SamAccountName $_.Cuenta -UserPrincipalName $_.Correo -Name $_.Nombre -SurName $_.Apellido -Path $_.Ruta
#Contraseña pasada como texto plano.
-AccountPassword (ConvertTo-SecureString "Usuario1234" -AsPlainText -force)
#Usuario habilitado, con contraseña que no expira y que debe cambiar la contraseña al iniciar por primera vez.
#PassThru es para que nos muestre información por consola del objeto LDAP creado.
-Enabled $True -PasswordNeverExpires $False -ChangePasswordAtLogon $True -PassThru }
Crear grupos a partir de un CSV.¶
#Importa los datos de un fichero CSV.
Import-Csv .\GroupsAD.csv | foreach-object {
#Crea un grupo, indicando su nombre, categoría, ámbito y la ruta donde se crea dicho grupo.
New-ADGroup -Name $_.Name -GroupCategory $_.GroupCategory -GroupScope $_.GroupScope -Path $_.Path}
Mostrar los grupos vacíos.¶
Hay que tener en cuenta que no hay que borrar los grupos predeterminados vacíos del propio dominio.
Get-ADGroup -Filter * -Properties Members |
Where-Object { -not $_.Members } |
Select-Object Name, DistinguishedName