Obtiene la lista de grupos a los que pertenece cada usuario de un pc

Obtiene la lista de grupos a los que pertenece cada usuario de un pc

# Obtiene la lista de usuarios locales
$usuariosLocales = Get-WmiObject -Class Win32_UserAccount | Where-Object { $_.LocalAccount -eq $true }

# Muestra la lista de usuarios locales y sus grupos
foreach ($usuario in $usuariosLocales) {
    $nombreUsuario = $usuario.Name
    Write-Host "Usuario: $nombreUsuario"

    try {
        # Obtiene la lista de grupos a los que pertenece el usuario
        $gruposUsuario = Get-WmiObject -Query "Associators of {Win32_UserAccount.Domain='$env:COMPUTERNAME',Name='$nombreUsuario'} Where ResultClass = Win32_Group"

        if ($gruposUsuario) {
            Write-Host "Grupos a los que pertenece:"
            foreach ($grupo in $gruposUsuario) {
                Write-Host "  - $($grupo.Name)"
            }
        } else {
            Write-Host "El usuario no pertenece a ningún grupo."
        }
    } catch {
        Write-Host "Error al obtener información de grupos para el usuario $nombreUsuario."
    }

    Write-Host "-----------------------------"
}

    • Related Articles

    • Lentitud en escaneo a carpeta de red

      Se recomienda validar el direccionamiento IP en casos de lentitud, especialmente validar puerta de enlace y DNS pues al no estar correctamente configurados, pueden haber saltos adicionales hasta que se enruta de forma correcta el tráfico hacia la IP ...