Powershell
UTF-8
Establecer la codificación a UTF-8 para manejar caracteres especiales:
Variables
Solicitar los números al usuario con soporte para caracteres especiales:
Convertir los valores de texto a números:
Realizar las operacione:
Mostrar los resultados:
Funciones
Declaración de funciones:
Llamada a la función pasandole varibales:
Parámetros
Obtener los números desde los parámetros:
Comprobar si se han pasado los parámetros correctos:
Operadores
Operadores de comparación comunes:
-eq
Igual a
5 -eq 5 → $true
-ne
No igual a
5 -ne 3 → $true
-gt
Mayor que
5 -gt 3 → $true
-lt
Menor que
5 -lt 10 → $true
-ge
Mayor o igual que
5 -ge 5 → $true
-le
Menor o igual que
5 -le 6 → $true
Operadores de comparación de cadenas (texto):
-eq
Igual (no sensible a mayúsculas)
"Hola" -eq "hola" → $true
-ceq
Igual (sensible a mayúsculas)
"Hola" -ceq "hola" → $false
-like
Coincidencia con comodines (*)
"archivo.txt" -like "*.txt"
-clike
-like sensible a mayúsculas
"Hola" -clike "H*"
-match
Coincidencia con regex
"abc123" -match "\d+"
-cmatch
Regex sensible a mayúsculas
"ABC123" -cmatch "ABC"
-contains
Contiene un valor (en colecciones)
@(1,2,3) -contains 2
Otros operadores útiles:
-notcontains
No contiene el valor
@(1,2,3) -notcontains 4 → $true
-in
El valor está en la colección
2 -in @(1,2,3) → $true
-notin
El valor no está en la colección
4 -notin @(1,2,3) → $true
-is
Es del tipo especificado
"hola" -is [string]
-isnot
No es del tipo especificado
123 -isnot [string]
Bucles
Bucle "FOR"
Bucle "WHILE"
Bucle "FOREACH"
Arrays
Declaración
Array simple con varios elementos
Usando el operador @()
Array vacío
Trabajo
Acceder a elementos del array
Agregar elementos a un array
Array de diferentes tipos de datos
Iterar sobre un array
Comprobar si contiene un elemento
Array multidimensional
Active Directory
Cargar el módulo de Active Directory necesario para usar cmdlets.
Leer un archivo .csv
y convierte cada fila en un objeto PowerShell.
Eliminar espacios en blanco al principio y final del texto. .Trim()
es un método de la clase [string]
.
Compruebar si una cadena está vacía, es nula o contiene solo espacios.
Busca una unidad organizativa en Active Directory. Parámetros clave:
-LDAPFilter "(name=$nombre)"
: busca por nombre.-SearchBase $dominio
: define el contexto donde buscar.-SearchScope Subtree
: busca en todos los niveles dentro delSearchBase
.
Crea una nueva unidad organizativa en AD. Parámetros clave:
-Name
: nombre de la nueva UO.-Path
: ruta LDAP completa donde crearla.-ProtectedFromAccidentalDeletion $false
: permite borrar la UO sin cambiar propiedades de protección.
Verifica si una ruta (archivo o carpeta) existe.
Elimina archivos o carpetas.
Busca grupos de Active Directory. Párametros clave:
-LDAPFilter "(cn=...)"
: busca por nombre común del grupo (CN).-SearchBase
: limita la búsqueda a una UO específica.-ErrorAction SilentlyContinue
: oculta errores si el grupo no se encuentra.
Crea un nuevo grupo en Active Directory. Párametros clave:
-Name
: nombre del grupo.-GroupScope Global
: ámbito del grupo (Global, Universal, DomainLocal).-GroupCategory Security
: tipo del grupo (Security o Distribution).-Path
: UO donde se crea.
Agrega texto a un archivo (sin sobrescribir).
Declara los parámetros que el script recibirá cuando se ejecute.
Busca usuarios en Active Directory. Parámetros clave:
-Filter "SamAccountName -eq '$id'"
: busca por nombre de cuenta (ID de usuario).-ErrorAction SilentlyContinue
: oculta errores si no se encuentra.
Crea un nuevo usuario en Active Directory. Parámetros clave:
-SamAccountName
: nombre de inicio de sesión.-Name
: nombre completo.-GivenName
: nombre de pila.-Surname
: apellido.-UserPrincipalName
: dirección de correo electrónico (tipousuario@asix.local
).-Path
: ruta LDAP (unidad organizativa).-AccountPassword
: contraseña (en formato seguro).-Enabled $true
: cuenta habilitada.-ChangePasswordAtLogon $true
: fuerza cambio de contraseña en primer inicio.
Convierte una cadena de texto a formato seguro (SecureString
) para que pueda usarse como contraseña.
Agrega un usuario a un grupo. Parámetros clave:
-Identity
: grupo de destino (objeto o nombre).-Members
: nombre de usuario (SamAccountName).
Convierte el DN del dominio (DC=ASIX,DC=LOCAL
) a un formato de dominio tradicional (asix.local
).
Uso: Construir el
UserPrincipalName
.
Last updated