Jak přidat nebo odebrat připnuté složky pro rychlý přístup pomocí PowerShell a GPO

Průzkumník souborů Windows má samostatný panel, který zobrazuje seznam oblíbených složek a tzv. umístěníRychlý přístup. Mnoho uživatelů a správců neprávem ignoruje tento praktický nástroj Windows pro rychlý přístup k vašim oblíbeným složkám. Tento článek popisuje, jak pomocí prostředí PowerShell a zásad skupiny automatizovat konfiguraci podokna Rychlý přístup a připnutých složek v systému Windows.

Ve výchozím nastavení panel Rychlý přístup zobrazuje pouze standardní knihovny uživatelských profilů (Desktop, Downloads, Pictures, Documents). Systém Windows automaticky přidá složky, které uživatel často (nebo nedávno) otevíral, do Rychlého přístupu. Uživatel může také ručně připnout jakoukoli složku do podokna Rychlý přístup. Chcete-li to provést, vyberte požadovanou složku v počítači nebo sdílenou složku ve vzdáleném počítači a vyberte možnostPřipnout do Rychlého přístupuvolba. V tomto případě se vedle názvu složky objeví ikona připínáčku.

Pokud váš systém Windows nezobrazuje podokno Rychlý přístup, přejděte do klíče registru HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorer a odstraňteHubModeparametr registru s hodnotou1(Průzkumník souborů skryje panel Rychlý přístup, když je tato možnost nastavena). Dříve jsme si ukázali, jak skrýt knihovnu a speciální složky v Průzkumníku souborů Windows.

V mém případě chci připnout určité složky do Rychlého přístupu v závislosti na přístupových skupinách (rolích), které jsou přiřazeny uživatelům. Účetní například potřebují jeden seznam oblíbených složek, obchodní manažeři další a tak dále. Zásady skupiny nemají vestavěné nástroje pro centrální správu rychlého přístupu, takže bylo nutné použít PowerShell.

Další informace:Konfigurace auditování přístupu k souborům a složkám v systému Windows (GPO)

Chcete-li přidat (připnout) konkrétní složku do seznamu rychlého přístupu, zadejte cestu ke složce v příkazu:

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

Seznam položek v podokně Rychlý přístup je uložen v%AppData%MicrosoftWindowsRecentAutomaticDestinationsf01b4d95cf55d32a.automaticDestinations-mssoubor. Chcete-li rychle vymazat seznam Rychlý přístup, odstraňte tento soubor spuštěním příkazu:

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

Do Rychlého přístupu lze přidat místní složku nebo sdílenou síťovou složku (podle cesty UNC):

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

Libovolnou složku uživatelského profilu lze připnout

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

Odebrání (uvolnění) složky z Rychlého přístupu:

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

Můžete odebrat kteroukoli ze složek knihovny profilů, které jsou ve výchozím nastavení připnuty k Rychlému přístupu:

$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")

Odebrat všechny připnuté položky z Rychlého přístupu:

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

Následující skript PowerShellu přidá složky do podokna Rychlý přístup, pouze pokud je uživatel členem konkrétní skupiny AD:

$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")
         }
        }
    }

Pokud je uživatel členem skupiny MUN_SaleManagers, tento skript PowerShell zkontroluje, zda seznam QuickAccess uživatele obsahuje připnuté složky ze$AddItemspole. Pokud taková složka v Rychlém přístupu chybí, skript zkontroluje dostupnost zadané cesty a složku připne.

Do skriptu můžete přidat několik podmínek pro kontrolu, zda je uživatel členem jiných skupin zabezpečení AD. Výsledkem je, že skript PowerShellu připne složky do seznamu rychlého přístupu uživatele na základě jeho členství ve skupině AD.

Uložte tento PowerShell do\woshub.locNETLOGONsložku na řadiči domény AD (to umožňuje ignorovat nastavení zásad provádění PowerShellu.) a spusťte ji jako přihlašovací skript uživatele pomocí zásad skupiny (další informace o spouštění skriptů PowerShell prostřednictvím GPO).

Related Posts