PowerShellCómo ver los permisos de cualquier objeto en Active DirectoryCómo ver los permisos de seguridad para cualquier objeto en Active Directory (AD)
Siga leyendo para saber cómo ver los permisos de usuario, grupo o cualquier otro objeto de AD usando PowerShell y cómo puede hacerlo fácilmente con ADManager Plus.
Windows PowerShell
- Identifique el dominio en el que se encuentra el objeto para el que se van a ver los permisos.
- Cree y compile el script para ver los permisos del objeto AD. Ejecute el script en PowerShell.
- Script de ejemplo para cambiar la configuración de contraseña a "el usuario debe cambiar la contraseña en el próximo inicio de sesión" para una cuenta de usuario de AD:
Copiado
$securityreport = @()
$schemaGUID = @{}
$ErrorActionPreference = 'SilentlyContinue' Get-ADObject -SearchBase (Get-ADRootDSE).schemaNamingContext -LDAPFilter '(schemaGUID=*)' -Properties name, schemaGUID | ForEach-Object {$schemaGUID.add([System.GUID]$_.schemaGUID,$_.name)} Get-ADObject -SearchBase "CN=Extended-Rights,$((Get-ADRootDSE).configurationNamingContext)" -LDAPFilter '(objectClass=controlAccessRight)' -Properties name, rightsGUID | ForEach-Object {$schemaGUID.add([System.GUID]$_.rightsGUID,$_.name)} $ErrorActionPreference = 'Continue' # Obtener una lista de objetos AD. $AOs = @(Obtener-ADDomain | select-object -expandProperty distinguishedName) $AOs += get-ADOrganizationalUnit -filter * | Select-Object -ExpandProperty DistinguishedName $AOs += Get-ADObject -SearchBase (Get-ADDomain). DistinguishedName -SearchScope Subtree -LDAPFilter '(objectClass=*)' | Select-Object -ExpandProperty DistinguishedName ForEach ($AO in $AOs) { $securityreport += get-ACL -path "AD:\$AO" | Select-Object -ExpandAcceso a la propiedad | select-object @{name='organizationalunit'; expresión={$AO}}, ' @{name='objectTypeName'; expression={if ($_.objectType.ToString() -eq '00000000-0000-0000-0000-000000000000') {'Todos'} else {$schemaGUID.Item($_.objectType)}}}, ' @{name='inheritedObjectTypeName'; expression={$schemaGUID.Item($_.inheritedObjectType)}}, ' * } # Filtra por un solo usuario y exporta a un archivo CSV. $User ='Nombre de usuario' $securityreport | Objeto-donde: {$_. IdentityReference -like "*$User*"} | Select-Object IdentityReference, ActiveDirectoryRights, OrganizationalUnit, IsInherited -Unique | export-csv -path "d:\report\permissions.csv" -NoTypeInformation
Haga clic para copiar todo el scriptADManager Plus
- Vaya a Reports > Security Reports > AD objects accessible by Accounts.
- Seleccione el Domain and the User Account(s) para los que desea ver los permisos. Incluso puede importar esta lista desde un archivo CSV. Haga clic en Apply.
Captura de pantalla
» Comience una prueba gratuita de 30 días
Este informe proporciona información sobre los permisos de acceso de una cuenta de AD.
Aunque la visualización de permisos para objetos AD con herramientas nativas como PowerShell parece sencilla, tiene algunas limitaciones:
- El script de PowerShell solo se puede ejecutar desde los equipos que tienen instalado el rol de Servicios de dominio de Active Directory.
- En caso de que se requieran permisos para otros objetos AD, se debe escribir un script nuevo y complejo.
- La sintaxis, los parámetros y las iteraciones deben ser correctas. Un error tipográfico o una sintaxis incorrecta pueden ser difíciles de detectar y rectificar, especialmente cuando el guión es largo.
Reduzca los riesgos de seguridad mediante la supervisión constante de los permisos de AD
Es importante que los administradores de TI puedan obtener informes que les ayuden a ver y analizar los permisos de los objetos de AD. Hacerlo les ayuda a eliminar usuarios de grupos que les otorgan permisos que no son necesarios para su trabajo diario.
ADManager Plus permite a los administradores obtener informes detallados de permisos con solo unos pocos clics del mouse desde su consola GUI basada en la web. También tiene opciones para programar y enviar automáticamente los informes por correo electrónico. Más información sobre los informes de permisos de AD aquí.