¿Cómo instalar y usar el módulo de Active Directory de PowerShell?

La Módulo de Active Directory para Windows PowerShell es una de las principales herramientas para administrar dominios, gestionar objetos en Active Directory y obtener diferente información sobre equipos, usuarios, grupos, etc. de AD. Cualquier administrador de Windows debe saber cómo usar ambos complementos gráficos de AD (generalmente es ADUC – Usuarios y equipos de Active Directory) y los cmdlets del RSAT-AD-PowerShell módulo para realizar las tareas diarias de administración de Active Directory. En este artículo veremos cómo instalar el módulo PowerShell Active Directory en Windows, descubriremos sus características básicas y cmdlets populares que son útiles para administrar e interactuar con AD.

Instalación del módulo de Active Directory de Powershell en Windows Server

Active Directory para Windows PowerShell ya está integrado en los sistemas operativos de Windows Server (a partir de Windows Server 2008 R2), pero no está habilitado de forma predeterminada.

En Windows Server 2016, puede instalar el módulo AD para PowerShell desde el Administrador del servidor (Agregar funciones y funciones -> Funciones -> Herramientas de administración de servidor remoto -> Herramientas de administración de funciones -> Herramientas de AD DS y AD LDS -> Módulo de Active Directory para Windows PowerShell).

instalar la función de servidor de Windows: módulo de Active Directory para Windows PowerShell

También puede instalar el módulo desde la consola de PowerShell usando el comando:

Install-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature

Instale RSAT-AD-PowerShell usando powershell

Puede instalar el RSAT-AD-PowerShell no solo en los controladores de dominio. Cualquier servidor miembro del dominio o incluso una estación de trabajo servirá. El módulo de PowerShell Active Directory se instala automáticamente cuando implementa el Servicios de dominio de Active Directory (AD DS) rol (al promover el servidor a controlador de dominio de AD).

El módulo está interactuando con AD a través del Servicio web de Active Directory que debe estar instalado en su controlador de dominio (la comunicación se realiza a través del puerto TCP 9389).

¿Cómo instalar el módulo de PowerShell Active Directory en Windows 10?

Puede instalar el RSAT-AD-PowerShell módulo no solo en Windows Server, sino también en sus estaciones de trabajo. Este módulo es parte del RSAT (Herramientas de administración remota del servidor) que puede descargar e instalar manualmente en Windows 7, Windows 8.1. Después de la instalación de RSAT, puede instalar el módulo de Active Directory para PowerShell desde el Panel de control (Panel de control -> Programas y características -> Activar o desactivar las funciones de Windows -> Herramientas de administración de servidor remoto-> Herramientas de administración de roles -> AD DS y herramientas AD LDS).

habilitar el módulo de Active Directory para Windows PowerShell en Windows 10 / 8.1 / 7

En Windows 10 build 1809 o más reciente, el paquete RSAT está integrado en la imagen de Windows (como Características a pedido), por lo que puede usar este comando de PowerShell para instalar el módulo de Active Directory:

Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”

Cmdlets de PowerShell de Active Directory

Hay muchos cmdlets para interactuar con AD en el módulo de Active Directory para Windows PowerShell. Cada nueva versión de RSAT contiene más cmdlets que la anterior. En Windows Server 2016, hay 147 cmdlets de PowerShell para Active Directory disponibles.

Antes de usar los cmdlets del módulo de Active Directory, debe importarlo a su sesión de PowerShell (en Windows Server 2012 R2 / Windows 8.1 y versiones posteriores, el módulo se importa automáticamente).

Import-Module ActiveDirectory

Si el módulo de Active Directory no está instalado en su computadora, puede importarlo desde su controlador de dominio (necesita los privilegios de administrador de dominio para hacerlo) o desde otra computadora de escritorio:

$psSess = New-PSSession -ComputerName DC_or_Comp_with_ADPoSh_installed
Import-Module -PSsession $psSess -Name ActiveDirectory

Puede mostrar una lista completa de los cmdlets de Active Directory disponibles mediante el comando:

Get-Command –module ActiveDirectory

El número total de cmdlets en el módulo AD:

Get-Command –module ActiveDirectory |measure-object|select count

Obtenga todo el módulo PowerShell de Command of ActiveDirectory

La mayoría de los cmdlets RSAT-AD-PowerShell comienzan desde Get-, Set- o New- prefijos.

  • Obtener– Los cmdlets de clase se utilizan para obtener información diferente de Active Directory (Get-ADUser – propiedades del usuario, Get-ADComputer – configuración de la computadora, Get-ADGroupMember – pertenencia a un grupo, etc.). Para ejecutarlos, no es necesario ser administrador de dominio. Cualquier usuario de dominio puede ejecutar comandos de PowerShell para obtener los valores de los atributos del objeto AD (excepto los confidenciales, como en el ejemplo con LAPS);
  • Colocar- Los cmdlets de clase se utilizan para establecer (cambiar) la configuración de objetos en Active Directory. Por ejemplo, puede cambiar las propiedades del usuario (Set-ADUser), configuración de la computadora (Set-ADComputadora), agregar un usuario a un grupo, etc. Para hacerlo, su cuenta debe tener los permisos para modificar las propiedades del objeto (consulte el artículo Cómo delegar privilegios de administrador en Active Directory);
  • Comandos que comienzan con Nuevo- le permite crear objetos AD (crear un usuario – New-ADUser, crear un grupo – New-ADGroup);
  • Eliminar- Los cmdlets se utilizan para eliminar objetos de AD.

Así es como puede obtener ayuda sobre cualquier cmdlet:

get-help Set-ADUser

Puede mostrar los ejemplos de uso de cmdlets de Active Directory de la siguiente manera:

(get-help New-ADComputer).examples

Es conveniente utilizar las sugerencias emergentes al escribir parámetros de cmdlet en PowerShell ISE.

información sobre herramientas de parámetros del módulo powershell del directorio activo en ise

Administración de Active Directory con módulo RSAT-AD-PowerShell

Veamos algunas tareas típicas de un administrador que puede realizar con los cmdlets de Active Directory para PowerShell.

Puede encontrar algunos ejemplos útiles sobre cómo usar AD para cmdlets de PowerShell en el sitio web de WOSHub. Siga los enlaces para obtener instrucciones detalladas.

New-ADUser: Creación de usuarios de AD

Para crear un nuevo usuario de AD, puede utilizar el New-ADUser cmdlet. Puede crear un usuario con el siguiente comando:

New-ADUser -Name "Mila Beck" -GivenName "Mila" -Surname "Beck" -SamAccountName "mbeck" -UserPrincipalName "[email protected]" -Path "OU=Users,OU=Berlin,OU=DE,DC=woshub,DC=com" -AccountPassword(Read-Host -AsSecureString "Input User Password") -Enabled $true

Para obtener información detallada sobre el cmdlet New-ADUser (incluido el ejemplo sobre cómo crear cuentas de dominio de usuario de forma masiva), consulte este artículo.

Get-ADComputer: obtener propiedades de la computadora

Para mostrar la información sobre las propiedades del equipo en la unidad organizativa específica (el nombre del equipo y la fecha del último inicio de sesión), use el cmdlet Get-ADComputer:

Get-ADComputer -SearchBase ‘OU=CA,OU=USA,DC=woshub,DC=com’ -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Add-AdGroupMember: agregar un usuario de AD a los grupos

Para agregar usuarios a un grupo de seguridad existente en su dominio de AD, ejecute este comando:

Add-AdGroupMember -Identity LondonSales -Members e.braun, l.wolf

Muestre la lista de usuarios en el grupo AD y expórtela a un archivo CSV:

Get-ADGroupMember LondonSales -recursive| ft samaccountname| Out-File c:psexport_ad_users.csv

Obtenga más información sobre cómo administrar grupos de AD desde PowerShell.

Set-ADAccountPassword: restablecer una contraseña de usuario en AD

Para restablecer una contraseña de usuario de AD desde PowerShell, ejecute el siguiente comando:

Set-ADAccountPassword m.lorenz -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “Ne8Pa$$0rd1” -Force -Verbose) –PassThru

¿Cómo desbloquear, habilitar y deshabilitar la cuenta AD?

Para deshabilitar la cuenta de usuario de AD:

Disable-ADAccount m.lorenz

Para habilitar una cuenta:

Enable-ADAccount m.lorenz

Para desbloquear una cuenta después de que haya sido bloqueada por una política de contraseña de dominio:

Unlock-ADAccount m.lorenz

Search-ADAccount: ¿Cómo encontrar objetos inactivos y deshabilitados?

Para buscar y deshabilitar todos los equipos del dominio de AD que no han iniciado sesión durante más de 90 días, use el cmdlet Search-ADAccount:

$timespan = New-Timespan –Days 90
Search-ADAccount -AccountInactive -ComputersOnly –TimeSpan $timespan | Disable-ADAccount

New-ADOrganizationalUnit: Crear una unidad organizativa en AD

Para crear rápidamente una estructura típica de unidad organizativa en AD, puede usar un script de PowerShell. Suponga que desea crear varias unidades organizativas con estados como nombres y crear contenedores de objetos típicos en ellas. Es bastante lento crear esta estructura de AD manualmente a través del complemento gráfico de ADUC. El módulo AD para PowerShell permite hacerlo en segundos (excepto el tiempo para escribir el script):

$fqdn = Get-ADDomain
$fulldomain = $fqdn.DNSRoot
$domain = $fulldomain.split(".")
$Dom = $domain[0]
$Ext = $domain[1]
$Sites = ("Nevada","Texas","California","Florida")
$Services = ("Users","Admins","Computers","Servers","Contacts","Service Accounts")
$FirstOU ="USA"
New-ADOrganizationalUnit -Name $FirstOU -Description $FirstOU -Path "DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($S in $Sites)
{
New-ADOrganizationalUnit -Name $S -Description "$S" -Path "OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($Serv in $Services)
{
New-ADOrganizationalUnit -Name $Serv -Description "$S $Serv" -Path "OU=$S,OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
}
}

Después de ejecutar el script, aparece la siguiente estructura de OU en Active Directory.

creando una estructura compleja de AD OU con New-ADOrganizationalUnit

Para mover objetos entre contenedores de AD, puede usar el Move-ADObject cmdlet:

$TargetOU = "OU=Sales,OU=Computers,DC=woshub,DC=com"
Get-ADComputer -Filter 'Name -like "SalesPC*"' | Move-ADObject -TargetPath $TargetOU

Get-ADReplicationFailure: comprobar errores de replicación de AD

Con el cmdlet Get-ADReplicationFailure, puede verificar el estado de replicación entre los controladores de dominio de AD:

Get-ADReplicationFailure -Target NY-DC01,NY-DC02

Para obtener información sobre todos los controladores de dominio del dominio, utilice el Get-AdDomainController cmdlet:

Get-ADDomainController –filter * | select hostname,IPv4Address,IsGlobalCatalog,IsReadOnly,OperatingSystem | format-table –auto

Get-ADDomainController - powershell obtiene información del controlador de dominio

Por lo tanto, hemos considerado las características básicas del módulo Active Directory PowerShell para administrar el dominio AD. Espero que le anime a seguir explorando otras características del módulo y automatizar la mayor parte de la tarea de administración de AD.

 

Artículos Interesantes