Hace casi 10 años, Quest Software lanzó un juego gratuito de cmdlets para simplificar la interacción con el Directorio Activo. Este conjunto de cmdlets proporciona opciones bastante flexibles para la administración de Active Directory, la gestión de objetos AD, AD ACLs, configuración de contraseñas y seguridad.
Hasta la versión 1.5.1 Quest, los cmdlets del Directorio Activo eran gratuitos. Más tarde, Dell adquirió la compañía Quest y comenzó a vender licencias para las versiones posteriores. Más tarde, el producto fue renombrado a Roles Activos y puedes descargarlo aquí: https://www.oneidentity.com/products/active-roles/ . Sin embargo, la mayoría de los administradores conocen este módulo de PowerShell como Quest Active Directory Cmdlets for Powershell .
A pesar de que no se puede descargar gratuitamente el módulo de Roles Activos de la página web oficial, es fácil encontrar un archivo con la antigua versión gratuita de los cmdlets QAD (1.5.1) en Internet – Quest_ActiveRolesManagementShellforActiveDirectoryx64_151.msi.
En este artículo veremos la instalación y el uso del módulo de Quest Active Directory Cmdlets for Powershell para administrar el dominio AD.
Para instalar este módulo PoSh en tu ordenador, debes tener instalado el .Net Framework 3.5. La instalación del módulo es bastante sencilla: ejecuta el archivo MSI y sigue las instrucciones del instalador.

Una vez completada la instalación, hay que importar el módulo a la sesión del PoSh con el comando:
Add-PSSnapin Quest.ActiveRoles.ADManagement
Puedes mostrar la lista de cmdlets disponibles para el módulo Quest con el comando:
get-command *qad*

Un ejemplo de cmdlets de un módulo:
- Get-QADUser
- Set-QADUser
- New-QADUser
- New-QADGroup
- Add-QADGroupMember
- Remove-QADGroupMember
- Connect-QADService
- Desconectar-QADService
LEE TAMBIÉN Importar Usuarios en el Directorio Activo desde CSV
En primer lugar, conectémonos al controlador de dominio:
$pwd = read-host "Introducir contraseña de usuario de dominio" -AsSecureString Connect-QADService -servicio $0027dc01.theitbros.com:389$0027 -ConexiónCuenta $0027theitbrosuser1$0027 -ConexiónContraseña $pwd
Enumere los usuarios y las cuentas de las computadoras del dominio:
Get-QADUser Get-QADComputer

Puedes obtener la información sobre un determinado usuario y parámetro de AD. Format-List es necesario para mostrar todas las propiedades recibidas:
Get-QADUser -Name JKelly -Include AllProperties | Format-List *
Comprobemos si la cuenta de usuario está desactivada:
(Get-QADUSer -Nombre "JKelly").AccountIsDisabled
También puedes obtener una lista de cuentas del grupo y guardarla en un archivo csv:
(Get-QADGroup "Domain Admins").members | Get-MemberName | Export-Csv "C:PSAdminGroupMembers.csv"
Por ejemplo, crear una nueva cuenta de usuario:
New-QADUser -name $0027TJones$0027 -ParentContainer $0027OU=Users,OU=USA,DC=theitbros,DC=com$0027 -UserPassword $0027P@ssw0rd!!$0027
Ahora hagamos una lista de los usuarios que no se han registrado en el dominio dentro de 2 meses y guardemos la lista en el archivo HTML:
$2 meses = (Obtener-Fecha).AñadirMeses(-2)
Get-QADUser -IncludedProperties LastLogon | where { $_.lastLogon -le
2 meses} | Seleccione DisplayName, LastLogon, AccountIsDisabled...
$_.AccountIsDisabled} | ConvertTo-Html | Out-File c:psinactiveusers.html
Por consiguiente, para desactivar, habilitar o desbloquear puede utilizar: Deshabilitar-QADUser, Habilitar-QADUser y Desbloquear-QADUser. Los Cmdlets que comienzan con Set se utilizan para establecer y cambiar parámetros, se utilizan a menudo en los scripts.
Get-QADUser -Department Sales | Set-QADUser -ObjectAttributes @{"Department"="New Sales"; "Description"="Sales dept"}
Deshabilitar todas las cuentas que no se hayan registrado en un plazo de 2 meses:
Get-QADUser -IncludedProperties LastLogon | where { $_.lastLogon -le $2months} | donde {-no $_.AccountIsDisabled} | Disable-QADUser
Por supuesto, en Quest AD hay un gran inconveniente: este módulo no forma parte del sistema operativo y no está soportado por Microsoft, para su funcionamiento es necesario instalar el proveedor adecuado. Estos cmdlets fueron lanzados por Quest antes de que Microsoft tuviera su propio módulo para interactuar con el módulo AD – ActiveDirectory para Windows PowerShell , que fue introducido en Windows Server 2008 R2/Windows 7. La mayor parte de la funcionalidad disponible en los cmdlets de Quest AD ahora también está disponible en el módulo Active Directory para Windows, por lo que los cmdlets de Quest AD se utilizan cada vez menos.
LEER TAMBIÉN el Directorio Activo de la Unidad Organizativa (OU)