Cómo agregar o eliminar carpetas fijadas para acceso rápido con PowerShell y GPO

El Explorador de archivos de Windows tiene un panel separado que muestra una lista de carpetas y ubicaciones favoritas llamadaAcceso rápido. Muchos usuarios y administradores ignoran injustamente esta práctica herramienta de Windows para acceder rápidamente a sus carpetas favoritas. Este artículo describe cómo usar PowerShell y las políticas de grupo para automatizar la configuración del panel de acceso rápido y las carpetas ancladas en Windows.

De forma predeterminada, el panel de acceso rápido muestra solo las bibliotecas de perfiles de usuario estándar (Escritorio, Descargas, Imágenes, Documentos). Windows agrega automáticamente las carpetas que el usuario ha abierto con frecuencia (o recientemente) al Acceso Rápido. El usuario también puede anclar manualmente cualquier carpeta al panel de acceso rápido. Para hacer esto, seleccione la carpeta requerida en su computadora o una carpeta compartida en una computadora remota y seleccione elAnclar al acceso rápidoopción. En este caso, aparecerá un icono de chincheta junto al nombre de la carpeta.

Si su Windows no muestra el panel de acceso rápido, vaya a la clave de registro HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorer y elimine elModo concentradorparámetro de registro con un valor de1(El Explorador de archivos oculta el panel de acceso rápido cuando esta opción está configurada). Anteriormente, mostramos cómo ocultar la biblioteca y las carpetas especiales en el Explorador de archivos de Windows.

En mi caso, quiero anclar ciertas carpetas al Acceso Rápido, dependiendo de los grupos de acceso (roles) que están asignados a los usuarios. Por ejemplo, los contables necesitan una lista de carpetas favoritas, los gerentes de ventas necesitan otra, y así sucesivamente. La Política de grupo no tiene las herramientas integradas para administrar de forma centralizada el acceso rápido, por lo que se tuvo que utilizar PowerShell.

Más información:Configurar la auditoría de acceso a archivos y carpetas en Windows (GPO)

Para agregar (fijar) una carpeta específica a la Lista de acceso rápido, especifique la ruta a la carpeta en el comando:

$quickaccess = new-object -com shell.application
$quickaccess.Namespace("C:CorpAppReport").Self.InvokeVerb("pintohome")

La lista de elementos en el panel de acceso rápido se almacena en el%AppData%MicrosoftWindowsRecentAutomaticDestinationsf01b4d95cf55d32a.automaticDestinations-msarchivo. Para borrar rápidamente la lista de acceso rápido, elimine este archivo ejecutando el comando:

del /f /s /q /a "%AppData%MicrosoftWindowsRecentAutomaticDestinationsf01b4d95cf55d32a.automaticDestinations-ms"

Se puede agregar una carpeta local o una carpeta de red compartida (por ruta UNC) al Acceso rápido:

$quickaccess.Namespace("\munfs01publicsales").Self.InvokeVerb("pintohome")

Se puede anclar cualquier carpeta de perfil de usuario

$quickaccess.Namespace("C:Users$($env:USERNAME)AppDataRoamingMyApp").Self.InvokeVerb("pintohome")

Eliminar (desanclar) una carpeta del Acceso rápido:

($QuickAccess.Namespace("shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}").Items() | where {$_.Path -eq "C:CorpAppReport"}).InvokeVerb("unpinfromhome")

Puede eliminar cualquiera de las carpetas de la biblioteca de perfiles que están ancladas en Acceso rápido de forma predeterminada:

$quickaccess = new-object -com shell.application
$results=$QuickAccess.Namespace("shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}").Items()
$DeleteDefaultItems = @("Desktop","Documents","Pictures","Videos","Downloads")
($results| where {$_.name -in $DeleteDefaultItems}).InvokeVerb("unpinfromhome")

Eliminar todos los elementos anclados del Acceso rápido:

($quickaccess.Namespace("shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}").Items() | where { $_.IsFolder -eq "True"}).InvokeVerb("unpinfromhome")

El siguiente script de PowerShell agrega carpetas al panel de acceso rápido solo si el usuario es miembro de un grupo de AD específico:

$usergroups=(New-Object System.DirectoryServices.DirectorySearcher("(&(objectCategory=User)(samAccountName=$($env:username)))")).FindOne().GetDirectoryEntry().memberOf
if ($usergroups.Contains('CN=MUN_SaleManagers,OU=Groups,OU=MUN,DC=woshub,DC=loc'))
    {
      $AddItems = @(
        [pscustomobject]@{Name=Report;Path="\woshub.locDFSReports"}
        [pscustomobject]@{Name="Scans";Path="\woshub.locDFSScans"}
        [pscustomobject]@{Name="Test1";Path="$env:USERPROFILEDownloads"}
  )
       ForEach ($Item in $AddItems)
        {          
            if (($Item.Name -notin $results.Name) -and (Test-Path -Path $Item.path)) {
            $QuickAccess.Namespace($Item.path).Self.InvokeVerb("pintohome")
         }
        }
    }

Si el usuario es miembro del grupo MUN_SaleManagers, este script de PowerShell verificará si la lista QuickAccess del usuario contiene carpetas ancladas del$AddItemsformación. Si dicha carpeta falta en el Acceso rápido, el script verificará la disponibilidad de la ruta especificada y fijará la carpeta.

Puede agregar varias condiciones al script para verificar si el usuario es miembro de otros grupos de seguridad de AD. Como resultado, el script de PowerShell anclará carpetas a la lista de acceso rápido del usuario según su membresía en el grupo AD.

Guarde este PowerShell en el\woshub.locNETLOGONcarpeta en el controlador de dominio AD (esto permite ignorar la configuración de la política de ejecución de PowerShell) y ejecútelo como un script de inicio de sesión de usuario usando la Política de grupo (más información sobre cómo ejecutar scripts de PowerShell a través de GPO).

Related Posts