Implemente el módulo de Active Directory de PowerShell sin instalar RSAT
En uno de los artículos anteriores, mostramos cómo usar el cmdlet Set-ADComputer en una secuencia de comandos de inicio de sesión de GPO para guardar la información del usuario conectado actual en las propiedades de cada objeto de computadora de AD. Uno de los comentaristas señaló razonablemente que para hacerlo, tendría que instalar RSAT con Active Directory para Windows PowerShell en todas las computadoras de los usuarios, lo que puede llevar mucho tiempo. Decidí probar y averiguar si puede usar los cmdlets del módulo ActiveDirectory de PowerShell sin instalar RSAT en las computadoras de los usuarios. ¡Y lo hice!
Supongamos que tenemos un servidor que ejecuta Windows Server 2012 R2, en el que están instalados los módulos RSAT y RSAT-AD-PowerShell. Nuestra tarea es copiar los archivos RSAT-AD-PowerShell a una estación de trabajo de usuario e importarlos para ejecutar diferentes cmdlets del módulo AD. Uso deliberadamente la computadora que ejecuta Windows 10 LTSC (basada en la compilación 1809) como una estación de trabajo para mostrar que las versiones anteriores de RSAT-AD-PowerShell son compatibles con las versiones más nuevas del sistema operativo.
En primer lugar, copiemos todos los archivos del módulo AD de Windows Server 2012 R2 a Windows 10. Cree una carpeta C:\PS\ADPoSh y copie todo el contenido de C:\Windows\System32\WindowsPowerShell 1.0\Modules\ActiveDirectory a ello.
Luego copie los siguientes archivos de la carpeta C:\Windows\WinSxS:
Microsoft.ActiveDirectory.Management.dll
-
Microsoft.ActiveDirectory.Management.resources.dll
Puede encontrar estas bibliotecas buscando en la carpeta WinSxS. En mi ejemplo, las rutas completas en Windows Server 2012 R2 fueron las siguientes:
"C:\Windows\WinSxS\amd64_microsoft.activedirectory.management_31bf3856ad364e35_6.3.9600.16503_none_09aa35cd49da6068\Microsoft.ActiveDirectory.Management.dll""C:\Windows\WinSxS\amd64_microsoft.activedir..anagement.resources_31bf3856ad364e35_6.3.9600.16384_en-us_efefcf68718a71bc\Microsoft.ActiveDirectory.Management.resources.dll"Luego, copie la carpeta C:\PS\ADPoSh (en mi caso, su tamaño era de aproximadamente 1,3 MB) en una computadora con Windows 10 donde no esté instalado el módulo RSAT AD para Windows PowerShell.
Intentemos importar el módulo de Active Directory copiado a la sesión actual de PowerShell:
Import-Module "C:\PS\ADPoSh\Microsoft.ActiveDirectory.Management.dll"
Import-Module "C:\PS\ADPoSh\Microsoft.ActiveDirectory.Management.resources.dll"El módulo se ha importado correctamente y puede usar cualquier cmdlet de módulo de AD para administrar y obtener información de su dominio de AD (p. ej., Get-ADUser, Get-ADComputer, Get-ADGroup, etc.).
Si aparece el error 'No se puede contactar con el servidor. Esto puede deberse a que este servidor no existe, actualmente está inactivo o no tiene los servicios web de Active Directory ejecutándose, asegúrese de que los servicios web de Active Directory (ADWS) en el controlador de dominio más cercano se estén ejecutando y el puerto TCP 9389 no está bloqueado por el firewall.
Puede encontrar un DC con función ADWS en su dominio usando el comando:
Get-ADDomainController -Discover -Service “ADWS”
Puede verificar la accesibilidad del servicio ADWS usando el cmdlet Test-NetConnection:
Test-NetConnection DC01 -port 9389Para ejecutar los cmdlets en el controlador de dominio específico, use el parámetro -Server:
Get-ADUser jbrion -server dc01.a-d.sitePuede usar los cmdlets del módulo PowerShell AD hasta que cierre su sesión de PowerShell. Puede copiar los archivos del módulo AD a todas las computadoras del dominio usando GPO.



