1.3K
Hoy le mostraremos cómo instalar y usar el Módulo de directorio activo de Windows PowerShell. El módulo AD de PowerShell forma parte de las herramientas de administración remota del servidor (RSAT). RSAT incluye todas las herramientas de administración necesarias, utilidades de línea de comandos y módulos de Windows PowerShell para administrar la infraestructura de Windows Server. Puede usar los cmdlets RSAT-AD-PowerShell para realizar tareas básicas de administración de AD y obtener información diferente sobre los usuarios del dominio, las computadoras, los grupos y otros objetos. Puede instalar RSAT-AD-PowerShell en hosts y estaciones de trabajo de Windows Server que ejecutan versiones de SO de escritorio (Windows 11, 10, 8.1 y 7).
Instale el módulo de directorio activo de PowerShell en Windows Server
El módulo de Active Directory para Windows PowerShell apareció por primera vez en Windows Server 2008 R2. Se implementa automáticamente en Windows Server después de instalar el rol ADDS (Servicios de dominio de Active Directory) al promover un servidor al controlador de dominio. Puede instalar este módulo manualmente en cualquier servidor o estación de trabajo miembro de Windows.
Puede instalar el módulo de Active Directory para Windows PowerShell en Windows Server 2019/2016/2012 R2 usando el Agregar funciones y funciones Asistente del Administrador del servidor. Basta con iniciar el asistente y, en el paso de selección de funciones, debe seleccionar el elemento Herramientas de administración remota del servidor > Herramientas de administración de funciones > Herramientas AD DS y AD LDS > Módulo Active Directory para Windows PowerShell;
También puede instalar este módulo usando PowerShell. Abra la consola de PowerShell como administrador y ejecute los siguientes comandos:
Import-Module ServerManager Add-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature
También puede usar DISM para instalar el módulo AD PowerShell en Windows:
DISM /online /enable-feature /featurename:RSATClient-Roles-AD DISM /online /enable-feature /featurename:RSATClient-Roles-AD-DS DISM /online /enable-feature /featurename:RSATClient-Roles-AD-DS-SnapIns
Para verificar el estado de instalación de un módulo, use el comando:
Get-WindowsFeature RSAT-AD-PowerShell
Pista. Si está utilizando PowerShell Core 7.x (pwsh.exe), tenga en cuenta que el módulo de Active Directory es totalmente compatible de forma nativa con esta versión de PoSh. Pero primero, debe instalar el módulo de compatibilidad de Windows:
Install-Module -Name WindowsCompatibility
Pista. Se usa un módulo de PowerShell diferente para administrar objetos en Azure Active Directory: Módulo de Azure Active Directory para Windows PowerShell.
Instalación del módulo AD PowerShell en Windows 10 y 11
En Windows 11, Windows 10, Windows 8.1 y Windows 7, para instalar el módulo RSAT-AD-PowerShell, primero debe instalar la versión adecuada de RSAT. RSAT está disponible para su instalación en las ediciones Professional, Education y Enterprise de Windows (Windows Home o Single Language no son compatibles).
En las versiones modernas de Windows 10 (1809 y posteriores), el RSAT se convirtió en parte de Funciones bajo demanda (FoD). Puede instalar AD RSAT Tools desde el Ajustes (Configuración > Aplicaciones > Administrar funciones opcionales > Agregar funciones > RSAT: Servicios de dominio de Active Directory y herramientas de directorio ligero > Instalar).
O desde la consola de PowerShell:
Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”
Deberá asegurarse de que sus políticas de seguridad, firewalls y proxies puedan acceder a los servidores de Microsoft Update en Internet para descargar e instalar componentes FOD.
En ventanas 11, puede instalar el paquete RSAT de Active Directory desde Configuración > Aplicaciones > Funciones opcionales > Agregar una función opcional > escriba Active Directory en el cuadro de búsqueda y seleccione el RSAT: servicios de dominio de Active Directory y herramientas de directorio ligeras característica > Siguiente > Instalar.
O puede instalar el módulo desde la consola elevada de PowerShell:
Get-WindowsCapability -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0 -Online | Add-WindowsCapability -Online
No es necesario que reinicie Windows después de instalar RSAT.
Para el módulo RSAT en Windows 7, 8.1 y Windows 10 (hasta la compilación 1803), debe descargar e instalar un paquete especial de MSU. Consulte cómo instalar las herramientas de administración remota del servidor en Windows.
Luego, debe habilitar el módulo (Panel de control > Programas > Activar o desactivar características de Windows > Herramientas de administración remota del servidor > Herramientas de administración de roles > Herramientas AD DS y AD LDS > Módulo Active Directory para Windows PowerShell).
O usando PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName RSATClient-Roles-AD-Powershell
Importación del módulo de Active Directory de PowerShell en Windows
El módulo RSAT-AD-PowerShell se importa automáticamente a su sesión de PowerShell. Sin embargo, en las versiones heredadas de Windows (Windows 7 y Windows Server 2008 R2), es posible que reciba un error al ejecutar cualquier cmdlet desde el módulo Active Directory PowerShell:
Get-ADComputer: el comando ‘Get-ADComputer’ se encontró en el módulo ‘ActiveDirectory’, pero no se pudo cargar el módulo. Para más información, ejecute ‘Import-Module ActiveDirectory’.
En este caso, debe importar manualmente el módulo a la sesión de PowerShell con el comando:
Import-Module activedirectory
Además, puede importar el módulo desde una computadora/servidor remoto (con el módulo RSAT-AD-PowerShell instalado) e importarlo a su sesión de PowerShell (usando PSRemoting):
$S = New-PSSession -ComputerName MyDomainController Export-PSsession -Session $S -Module ActiveDirectory -OutputModule RemoteAD Import-Module RemoteAD -Force
Ahora puede usar todos los cmdlets del módulo RSAT-AD-PowerShell desde una computadora remota como si lo tuviera instalado localmente. Sin embargo, la comunicación remota implícita realmente funcionará aquí y todos los cmdlets de PowerShell se ejecutarán de forma remota.
La sesión estará activa hasta que cierre la consola de PowerShell. También puede cerrar la sesión (Disconnect-PSSession -Session $S) o eliminarla (Remove-PSSession -Session $S).
Ahora puede usar el módulo de Active Directory de forma remota sin instalarlo en su computadora.
Para confirmar que el módulo AD PoSh está instalado e importado a la sesión de PowerShell en Windows, ejecute el comando:
Get-Module ActiveDirectory
Puede mostrar la lista de cmdlets del módulo AD PowerShell disponibles para interactuar con Active Directory de la siguiente manera:
Get-Command -Module ActiveDirectory
Las diferentes versiones de Windows (RSAT) tienen una cantidad diferente de cmdlets disponibles:
get-command -Module activedirectory|measure
- Windows Server 2008 R2: 76 cmdlets;
- Windows Server 2012: 135 cmdlets;
- Windows Server 2012 R2/2016/2019/2022: 147 cmdlets.
La siguiente es una lista completa de los cmdlets del módulo AD PowerShell en Windows Server 2019:
Add-ADCentralAccessPolicyMember Add-ADComputerServiceAccount Add-ADDomainControllerPasswordReplicationPolicy Add-ADFineGrainedPasswordPolicySubject Add-ADGroupMember Add-ADPrincipalGroupMembership Add-ADResourcePropertyListMember Clear-ADAccountExpiration Clear-ADClaimTransformLink Disable-ADAccount Disable-ADOptionalFeature Enable-ADAccount Enable-ADOptionalFeature Get-ADAccountAuthorizationGroup Get-ADAccountResultantPasswordReplicationPolicy Get-ADAuthenticationPolicy Get-ADAuthenticationPolicySilo Get-ADCentralAccessPolicy Get-ADCentralAccessRule Get-ADClaimTransformPolicy Get-ADClaimType Get-ADComputer Get-ADComputerServiceAccount Get-ADDCCloningExcludedApplicationList Get-ADDefaultDomainPasswordPolicy Get-ADDomain Get-ADDomainController Get-ADDomainControllerPasswordReplicationPolicy Get-ADDomainControllerPasswordReplicationPolicyUsage Get-ADFineGrainedPasswordPolicy Get-ADFineGrainedPasswordPolicySubject Get-ADForest Get-ADGroup Get-ADGroupMember Get-ADObject Get-ADOptionalFeature Get-ADOrganizationalUnit Get-ADPrincipalGroupMembership Get-ADReplicationAttributeMetadata Get-ADReplicationConnection Get-ADReplicationFailure Get-ADReplicationPartnerMetadata Get-ADReplicationQueueOperation Get-ADReplicationSite Get-ADReplicationSiteLink Get-ADReplicationSiteLinkBridge Get-ADReplicationSubnet Get-ADReplicationUpToDatenessVectorTable Get-ADResourceProperty Get-ADResourcePropertyList Get-ADResourcePropertyValueType Get-ADRootDSE Get-ADServiceAccount Get-ADTrust Get-ADUser Get-ADUserResultantPasswordPolicy Grant-ADAuthenticationPolicySiloAccess Install-ADServiceAccount Move-ADDirectoryServer Move-ADDirectoryServerOperationMasterRole Move-ADObject New-ADAuthenticationPolicy New-ADAuthenticationPolicySilo New-ADCentralAccessPolicy New-ADCentralAccessRule New-ADClaimTransformPolicy New-ADClaimType New-ADComputer New-ADDCCloneConfigFile New-ADFineGrainedPasswordPolicy New-ADGroup New-ADObject New-ADOrganizationalUnit New-ADReplicationSite New-ADReplicationSiteLink New-ADReplicationSiteLinkBridge New-ADReplicationSubnet New-ADResourceProperty New-ADResourcePropertyList New-ADServiceAccount New-ADUser Remove-ADAuthenticationPolicy Remove-ADAuthenticationPolicySilo Remove-ADCentralAccessPolicy Remove-ADCentralAccessPolicyMember Remove-ADCentralAccessRule Remove-ADClaimTransformPolicy Remove-ADClaimType Remove-ADComputer Remove-ADComputerServiceAccount Remove-ADDomainControllerPasswordReplicationPolicy Remove-ADFineGrainedPasswordPolicy Remove-ADFineGrainedPasswordPolicySubject Remove-ADGroup Remove-ADGroupMember Remove-ADObject Remove-ADOrganizationalUnit Remove-ADPrincipalGroupMembership Remove-ADReplicationSite Remove-ADReplicationSiteLink Remove-ADReplicationSiteLinkBridge Remove-ADReplicationSubnet Remove-ADResourceProperty Remove-ADResourcePropertyList Remove-ADResourcePropertyListMember Remove-ADServiceAccount Remove-ADUser Rename-ADObject Reset-ADServiceAccountPassword Restore-ADObject Revoke-ADAuthenticationPolicySiloAccess Search-ADAccount Set-ADAccountAuthenticationPolicySilo Set-ADAccountControl Set-ADAccountExpiration Set-ADAccountPassword Set-ADAuthenticationPolicy Set-ADAuthenticationPolicySilo Set-ADCentralAccessPolicy Set-ADCentralAccessRule Set-ADClaimTransformLink Set-ADClaimTransformPolicy Set-ADClaimType Set-ADComputer Set-ADDefaultDomainPasswordPolicy Set-ADDomain Set-ADDomainMode Set-ADFineGrainedPasswordPolicy Set-ADForest Set-ADForestMode Set-ADGroup Set-ADObject Set-ADOrganizationalUnit Set-ADReplicationConnection Set-ADReplicationSite Set-ADReplicationSiteLink Set-ADReplicationSiteLinkBridge Set-ADReplicationSubnet Set-ADResourceProperty Set-ADResourcePropertyList Set-ADServiceAccount Set-ADUser Show-ADAuthenticationPolicyExpression Sync-ADObject Test-ADServiceAccount Uninstall-ADServiceAccount Unlock-ADAccount
Uso del módulo RSAT-AD-PowerShell
El módulo AD de PowerShell brinda al administrador muchas oportunidades para interactuar con objetos de Active Directory y automatizar tareas (esto es especialmente útil cuando se realizan acciones masivas dirigidas a una gran cantidad de objetos AD). Puede realizar todas las operaciones básicas con el directorio AD:
- Obtenga todas las propiedades de AD y los atributos de los objetos;
- Cambiar las propiedades del objeto;
- Administrar grupos de AD;
- Crear nuevos objetos de directorio, etc.
Los cmdlets del módulo de Active Directory interactúan con los servicios web de Active Directory (ADWS) en el controlador de dominio. Este rol se instala en un controlador de dominio durante la promoción de un servidor miembro de dominio a un controlador de dominio. El módulo accede a los servicios web de Active Directory a través del puerto TCP 9389 (verifique que este puerto esté abierto en el firewall).
Pista. Compruebe si el servicio ADWS se está ejecutando en el controlador de dominio y responde en el puerto 9389 (Test-NetConnection DC01 – puerto 9389). Obtenga más información sobre el error No se puede encontrar un servidor predeterminado con los servicios web de Active Directory en ejecución.
Si su computadora está unida a un dominio de AD, los cmdlets de PowerShell de AD encuentran el controlador de dominio más cercano para conectarse según la variable de entorno LogonServer. Sin embargo, puede conectarse a cualquier otro controlador de dominio utilizando el -Servidor parámetro (disponible en la mayoría de los cmdlets). Por ejemplo:
Get-ADUser a.smith -Server nydc01.theitbros.com
Veamos algunos ejemplos del uso de los cmdlets del módulo RSAT-AD-PowerShell.
- Puede crear varios usuarios de AD a la vez, puede importar usuarios de AD desde CSV. Úselo junto con el cmdlet New-ADUser.
Para obtener información sobre un usuario de AD, use el cmdlet Get-ADUser:Get-ADUser –identity t.muller –properties *
Un cmdlet similar para mostrar todos los atributos de la computadora en AD:
Get-ADComputer –identity dc01 –properties *
- Use el cmdlet New-ADGroup para crear un grupo de Active Directory. Por ejemplo, para crear un nuevo grupo denominado ItalyUsers en la unidad organizativa específica, ejecute el comando:
New-ADGroup -Path "OU=Groups,OU=Italy,DC=theitbros,DC=com" -Name "ItalyUsers" -GroupScope Global -GroupCategory Distribution
- Para obtener la información del grupo AD, use el cmdlet Get-ADGroup:
Get-ADGroup ItalyUsers
- Si desea agregar un usuario o una computadora a un grupo de AD, use el cmdlet Add-ADGroupMember:
Add-ADGroupMember –Identity ‘NY_Managers’ -Members s.adams,d.thumb,p.muller
- Use el cmdlet New-ADOrganizationalUnit para crear una unidad organizativa de Active Directory:
New-ADOrganizationalUnit -Name "France"
- Utilice el cmdlet Unlock-ADAccount para desbloquear la cuenta en el dominio de Active Directory:
Get-ADUser -Identity bjackson | Unlock-ADAccount
- O puede usar Set-ADAccountPassword para cambiar la contraseña de usuario del dominio o restablecerla:
$newPass=Read-Host "Enter the new user password" –AsSecureString Set-ADAccountPassword bjackson -NewPassword $newPass
- Verifique el estado de replicación de AD para todos los controladores de dominio en el sitio específico de Active Directory:
Get-ADReplicationFailure -scope SITE -target London | Format-Table Server, FirstFailureTime, FailureClount, LastError, Partner
- Busque y deshabilite las cuentas de AD que no hayan iniciado sesión en el dominio durante más de 120 días:
Search-ADAccount -AccountInactive -TimeSpan 120 –UsersOnly| Disable-ADAccount
- Para obtener ayuda detallada sobre cualquier cmdlet del módulo AD-PoSh, use el comando Get-Help:
get-help set-aduser
Si la computadora no es parte del dominio de Active Directory, aparece la siguiente advertencia cuando intenta importar el módulo AD-PoSh:
ADVERTENCIA: error al inicializar la unidad predeterminada: ‘No se puede encontrar un servidor predeterminado con los servicios web de Active Directory ejecutándose’.
En este caso, debe especificar el controlador de dominio AD y las credenciales de usuario para conectarse.
En primer lugar, debe obtener las credenciales del usuario para acceder al dominio. Cualquier usuario de dominio autenticado puede ver casi todas las propiedades de los objetos de AD (excluyendo los atributos protegidos de Active Directory).
$cred = Get-Credential
Por ejemplo, para obtener la información del usuario del DC denominado TOR-DC01 con las credenciales guardadas, utilice el comando:
get-aduser postfixsrv –server nydc01 -Credential $cred
Como puede ver, ha recibido la información de la cuenta de AD.
Ahora puede usar los cmdlets de PowerShell para administrar y consultar Active Directory.