Vastgezette mappen toevoegen of verwijderen voor snelle toegang met PowerShell en GPO

Windows File Explorer heeft een apart paneel dat een lijst met favoriete mappen en opgeroepen locaties weergeeftSnelle toegang. Veel gebruikers en beheerders negeren ten onrechte deze handige Windows-tool voor snelle toegang tot uw favoriete mappen. In dit artikel wordt beschreven hoe u PowerShell en groepsbeleid kunt gebruiken om de configuratie van het deelvenster Snelle toegang en vastgezette mappen in Windows te automatiseren.

Standaard geeft het paneel Snelle toegang alleen de standaard gebruikersprofielbibliotheken weer (Bureaublad, Downloads, Afbeeldingen, Documenten). Windows voegt automatisch mappen toe die de gebruiker vaak (of recentelijk) heeft geopend aan Snelle toegang. De gebruiker kan elke map ook handmatig vastzetten in het deelvenster Snelle toegang. Om dit te doen, selecteert u de gewenste map op uw computer of een gedeelde map op een externe computer en selecteert u deVastmaken aan Snelle toegangoptie. In dit geval verschijnt er een punaisepictogram naast de mapnaam.

Als uw Windows het deelvenster Snelle toegang niet weergeeft, gaat u naar de registersleutel HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorer en verwijdert u deHubModusregisterparameter met een waarde van1(Verkenner verbergt het paneel Snelle toegang wanneer deze optie is ingesteld). Eerder hebben we laten zien hoe u de bibliotheek en speciale mappen in Windows Verkenner kunt verbergen.

In mijn geval wil ik bepaalde mappen vastzetten aan Snelle toegang, afhankelijk van de toegangsgroepen (rollen) die aan de gebruikers zijn toegewezen. Accountants hebben bijvoorbeeld één lijst met favoriete mappen nodig, verkoopmanagers hebben een andere nodig, enzovoort. Groepsbeleid beschikt niet over de ingebouwde tools om Snelle toegang centraal te beheren, dus moest PowerShell worden gebruikt.

Meer informatie:Toegangscontrole voor bestanden en mappen configureren op Windows (GPO)

Om een ​​specifieke map aan de Snelle Toegangslijst toe te voegen (vast te zetten), geeft u het pad naar de map op in de opdracht:

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

De lijst met items in het deelvenster Snelle toegang wordt opgeslagen in de map%AppData%MicrosoftWindowsRecentAutomaticDestinationsf01b4d95cf55d32a.automaticDestinations-msbestand. Om de Quick Access-lijst snel te wissen, verwijdert u dit bestand door de opdracht uit te voeren:

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

Een lokale map of een gedeelde netwerkmap (via UNC-pad) kan worden toegevoegd aan de Snelle toegang:

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

Elke gebruikersprofielmap kan worden vastgezet

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

Een map verwijderen (losmaken) uit Snelle toegang:

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

U kunt alle profielbibliotheekmappen verwijderen die standaard zijn vastgemaakt aan Snelle toegang:

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

Verwijder alle vastgezette items uit Snelle toegang:

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

Het volgende PowerShell-script voegt alleen mappen toe aan het deelvenster Snelle toegang als de gebruiker lid is van een specifieke AD-groep:

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

Als de gebruiker lid is van de groep MUN_SaleManagers, controleert dit PowerShell-script of de QuickAccess-lijst van de gebruiker vastgezette mappen bevat van de$AddItemsreeks. Als een dergelijke map ontbreekt in Snelle toegang, controleert het script de beschikbaarheid van het opgegeven pad en wordt de map vastgezet.

U kunt verschillende voorwaarden aan het script toevoegen om te controleren of de gebruiker lid is van andere AD-beveiligingsgroepen. Als gevolg hiervan zal het PowerShell-script mappen vastmaken aan de Quick Access-lijst van de gebruiker op basis van zijn of haar AD-groepslidmaatschap.

Sla deze PowerShell op in de\woshub.locNETLOGONmap op de AD-domeincontroller (hiermee kunt u de instellingen van het PowerShell-uitvoeringsbeleid negeren.) en voer deze uit als een gebruikersaanmeldingsscript met behulp van Groepsbeleid (meer informatie over het uitvoeren van PowerShell-scripts via GPO).

Related Posts