Powershell en AD

Obtener Variables de entorno

Get-ChildItem Env:

Obtener funciones en el scope de Powershell

Get-Command -CommandType Function

Obtener una lista de los modulos de PowerShell cargados

Get-Module

Importar modulo de Active Directory

Import-Module ActiveDirectory

Listar comandos para un modulo especifico

Get-Command -Module ActiveDirectory

Obtener información del Dominio

Get-ADDomain

Obtener ayuda de un cmd-let

Get-Help <cmd-let>

Verificar las relaciones de confianza de dominio

Get-ADTrust -Filter *

Este cmdlet imprimirá las relaciones de confianza que tenga el dominio. Podemos determinar si son confianzas dentro de nuestro bosque o con dominios de otros bosques, el tipo de confianza, la dirección de la confianza y el nombre del dominio con el que está la relación.

Crear un nuevo grupo

New-ADGroup -Name "NombreGrupo" -GroupCategory Security -GroupScope Global -DisplayName "Nombre Descriptivo del Grupo" -Description "Descripción del Grupo"

Crear un nuevo usuario

New-ADUser -Name "NombreUsuario" -SamAccountName "NombreUsuario" -UserPrincipalName "NombreUsuario@dominio.com" -AccountPassword (ConvertTo-SecureString -AsPlainText "Contraseña" -Force)

Filtrar por un nombre de usuario especifico

Get-ADUser -Filter * | Where-Object {$_.SamAccountName -eq "NombreUsuario"}

En este comando:

  • Get-ADUser -Filter * obtiene todos los usuarios de Active Directory.

  • Where-Object se utiliza para filtrar los resultados.

  • {} delimita el script de bloque para la condición de filtro.

  • $_ representa el objeto actual en el pipeline (en este caso, cada usuario obtenido por Get-ADUser).

  • .SamAccountName es la propiedad que contiene el nombre de usuario.

  • -eq "NombreUsuario" es el operador de igualdad para comparar el valor de la propiedad SamAccountName con el nombre de usuario que deseas buscar.

Filtrar por un usuario donde el campo ServicePrincipalName sea distinto de null

Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName

Crear un nuevo usuario asignado algunos atributos

New-ADUser -Name "first last" -Accountpassword (Read-Host -AsSecureString "Super$ecurePassword!") -Enabled $true -OtherAttributes @{'title'="Analyst";'mail'="f.last@domain.com"}

Agregar un usuario a un grupo específico

Add-ADGroupMember -Identity "NombreGrupo" -Members "NombreUsuario"

Listar los miembros de un grupo

Get-ADGroupMember -Identity "NombreGrupo" | Select-Object Name, SamAccountName

Quitar un usuario de un grupo

Remove-ADGroupMember -Identity "NombreGrupo" -Members "NombreUsuario"

Cambiar la contraseña de un usuario

Set-ADAccountPassword -Identity "NombreUsuario" -NewPassword (ConvertTo-SecureString -AsPlainText "NuevaContraseña" -Force) -Reset

Deshabilitar una cuenta de usuario

Disable-ADAccount -Identity "NombreUsuario"

Habilitar una cuenta de usuario

Enable-ADAccount -Identity "NombreUsuario"

Desbloquear una cuenta de usuario

Unlock-ADAccount -Identity "NombreUsuario"

Obtener información detallada de un usuario

Get-ADUser -Identity "NombreUsuario" -Properties *

Obtener información detallada de un grupo

Get-ADGroup -Identity "NombreGrupo" -Properties *

Obtener información detallada de un equipo

Get-ADComputer -Identity "NombreEquipo" -Properties *

Forzar el cambio de contraseña en el proximo inicio de sesión

Set-ADUser -Identity amasters -ChangePasswordAtLogon $true

Obtener los grupos del un usuario

$user = Get-ADUser -Identity "NombreUsuario"
$groups = Get-ADPrincipalGroupMembership -Identity $user
$groups | Select-Object -ExpandProperty Name

Crear una nueva Unidad Organizativa:

New-ADOrganizationalUnit -Name "NombreOU" -Path "OU=ParentOU,DC=dominio,DC=com"

Mover un objeto (usuario, grupo, etc.) a una OU diferente:

Move-ADObject -Identity "CN=NombreObjeto,OU=Origen,DC=dominio,DC=com" -TargetPath "OU=Destino,DC=dominio,DC=com"

Renombrar un grupo:

Rename-ADObject -Identity "CN=NombreGrupo,OU=Origen,DC=dominio,DC=com" -NewName "NuevoNombreGrupo"

Eliminar un grupo:

Remove-ADGroup -Identity "NombreGrupo"

Obtener una lista de todas las unidades organizativas:

Get-ADOrganizationalUnit -Filter *

Listar los grupos

Get-ADGroup -Filter * | select name

Obtener una lista de todos los grupos en una OU específica:

Get-ADGroup -Filter * -SearchBase "OU=NombreOU,DC=dominio,DC=com"

Obtener una lista de todos los miembros de un grupo:

Get-ADGroupMember -Identity "NombreGrupo"

Obtener una lista de todas las GPO:

Get-GPO -All

Obtener una lista de todas las GPO en un dominio específico:

Get-GPO -All -Domain "NombreDominio"

Crear una nueva GPO:

New-GPO -Name "NombreGPO"

Cambiar el nombre de una GPO:

Rename-GPO -Name "NombreActualGPO" -NewName "NuevoNombreGPO"

Copiar una GPO:

Copy-GPO -SourceName "NombreGPOOrigen" -TargetName "NombreGPODestino"

Eliminar una GPO:

Remove-GPO -Name "NombreGPO"

Obtener la configuración de una GPO:

Get-GPOReport -Name "NombreGPO" -ReportType XML

Establecer la configuración de una GPO:

Set-GPRegistryValue -Name "NombreGPO" -Key "HKEY_CURRENT_USER\Software\Ejemplo" -ValueName "Ejemplo" -Type String -Value "ValorEjemplo"

Enlace de una GPO a una OU específica:

New-GPLink -Name "NombreGPO" -Target "OU=NombreOU,DC=dominio,DC=com"

Desenlace de una GPO de una OU específica:

Remove-GPLink -Name "NombreGPO" -Target "OU=NombreOU,DC=dominio,DC=com"

Realizar una copia de seguridad y restauración de una GPO:

Para realizar una copia de seguridad:

Backup-GPO -Name "NombreGPO" -Path "C:\Ruta\Backup"

Para restaurar desde una copia de seguridad:

Restore-GPO -Name "NombreGPO" -Path "C:\Ruta\Backup"

Obtener una lista de todos los equipos en un dominio:

Get-ADComputer -Filter *

Obtener información detallada de un equipo específico:

Get-ADComputer -Identity "NombreEquipo" -Properties *

Crear un nuevo objeto de equipo en Active Directory:

New-ADComputer -Name "NombreEquipo" -Path "OU=NombreOU,DC=dominio,DC=com"

Mover un equipo a una unidad organizativa diferente:

Move-ADObject -Identity "CN=NombreEquipo,OU=Origen,DC=dominio,DC=com" -TargetPath "OU=Destino,DC=dominio,DC=com"

Cambiar el nombre de un equipo en Active Directory:

Rename-ADObject -Identity "CN=NombreEquipo,OU=Origen,DC=dominio,DC=com" -NewName "NuevoNombreEquipo"

Deshabilitar una cuenta de equipo:

Disable-ADAccount -Identity "NombreEquipo"

Habilitar una cuenta de equipo:

Enable-ADAccount -Identity "NombreEquipo"

Eliminar un objeto de equipo de Active Directory:

Remove-ADComputer -Identity "NombreEquipo"

Obtener el estado actual de Windows Defender

Get-MpComputerStatus

Obtener AppLockerPolicy

Get-AppLockerPolicy -Effective | select -ExpandProperty RuleCollections

Última actualización