ค้นหาเว็บไซต์

วิธีเพิ่มหรือลบโฟลเดอร์ที่ปักหมุดไว้ในการเข้าถึงด่วนด้วย PowerShell และ GPO


Windows File Explorer มีแผงแยกต่างหากที่แสดงรายการโฟลเดอร์และตำแหน่งที่ชื่นชอบที่เรียกว่า การเข้าถึงด่วน ผู้ใช้และผู้ดูแลระบบจำนวนมากเพิกเฉยต่อเครื่องมือ Windows ที่มีประโยชน์นี้อย่างไม่ยุติธรรมเพื่อการเข้าถึงโฟลเดอร์โปรดของคุณอย่างรวดเร็ว บทความนี้อธิบายวิธีการใช้นโยบาย PowerShell และกลุ่มเพื่อทำให้การกำหนดค่าบานหน้าต่างการเข้าถึงด่วนและโฟลเดอร์ที่ปักหมุดบน Windows เป็นแบบอัตโนมัติ

ตามค่าเริ่มต้น แผงการเข้าถึงด่วนจะแสดงเฉพาะไลบรารีโปรไฟล์ผู้ใช้มาตรฐาน (เดสก์ท็อป, ดาวน์โหลด, รูปภาพ, เอกสาร ). Windows จะเพิ่มโฟลเดอร์ที่ผู้ใช้เปิดบ่อยๆ (หรือล่าสุด) ลงใน Quick Access โดยอัตโนมัติ ผู้ใช้ยังสามารถปักหมุดโฟลเดอร์ใดๆ ลงในบานหน้าต่างการเข้าถึงด่วนได้ด้วยตนเอง ในการดำเนินการนี้ ให้เลือกโฟลเดอร์ที่ต้องการบนคอมพิวเตอร์ของคุณหรือโฟลเดอร์ที่ใช้ร่วมกันบนคอมพิวเตอร์ระยะไกล และเลือกตัวเลือก ปักหมุดไปที่การเข้าถึงด่วน ไอคอนหมุดจะปรากฏถัดจากชื่อโฟลเดอร์ในกรณีนี้

หาก Windows ของคุณไม่แสดงบานหน้าต่างการเข้าถึงด่วน ให้ไปที่คีย์รีจิสทรี HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer และลบพารามิเตอร์รีจิสทรี HubMode ด้วย ค่า 1 (File Explorer จะซ่อนแผงการเข้าถึงด่วนเมื่อตั้งค่าตัวเลือกนี้) ก่อนหน้านี้เราได้แสดงวิธีซ่อนไลบรารีและโฟลเดอร์พิเศษใน Windows File Explorer

ในกรณีของฉัน ฉันต้องการปักหมุดบางโฟลเดอร์ไว้ที่การเข้าถึงด่วน ขึ้นอยู่กับกลุ่มการเข้าถึง (บทบาท) ที่กำหนดให้กับผู้ใช้ ตัวอย่างเช่น นักบัญชีต้องการโฟลเดอร์โปรดหนึ่งรายการ ผู้จัดการฝ่ายขายต้องการอีกโฟลเดอร์หนึ่ง และอื่นๆ นโยบายกลุ่มไม่มีเครื่องมือในตัวสำหรับจัดการการเข้าถึงด่วนจากส่วนกลาง ดังนั้นจึงต้องใช้ PowerShell

หากต้องการเพิ่ม (ปักหมุด) โฟลเดอร์เฉพาะลงในรายการการเข้าถึงด่วน ให้ระบุเส้นทางไปยังโฟลเดอร์ในคำสั่ง:

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

รายการของรายการในบานหน้าต่างการเข้าถึงด่วนจะถูกจัดเก็บไว้ใน

%AppData%\Microsoft\Windows\Recent\AutomaticDestinations\f01b4d95cf55d32a.automaticDestinations-ms

ไฟล์. หากต้องการล้างรายการการเข้าถึงด่วนอย่างรวดเร็ว ให้ลบไฟล์นี้โดยรันคำสั่ง:

del /f /s /q /a "%AppData%\Microsoft\Windows\Recent\AutomaticDestinations\f01b4d95cf55d32a.automaticDestinations-ms"

สามารถเพิ่มโฟลเดอร์ในเครื่องหรือโฟลเดอร์เครือข่ายที่ใช้ร่วมกัน (ตามเส้นทาง UNC) ลงใน Quick Access:

$quickaccess.Namespace("\\munfs01\public\sales").Self.InvokeVerb("pintohome")

สามารถปักหมุดโฟลเดอร์โปรไฟล์ผู้ใช้ใดก็ได้

$quickaccess.Namespace("C:\Users\$($env:USERNAME)\AppData\Roaming\MyApp").Self.InvokeVerb("pintohome")

ลบ (เลิกปักหมุด) โฟลเดอร์ออกจากการเข้าถึงด่วน:

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

คุณสามารถลบโฟลเดอร์ไลบรารีโปรไฟล์ใดๆ ที่ปักหมุดไว้ที่ Quick Access ตามค่าเริ่มต้นได้:

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

ลบรายการที่ปักหมุดทั้งหมดออกจาก Quick Access:

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

สคริปต์ PowerShell ต่อไปนี้เพิ่มโฟลเดอร์ลงในบานหน้าต่างการเข้าถึงด่วนเฉพาะในกรณีที่ผู้ใช้เป็นสมาชิกของกลุ่มโฆษณาเฉพาะ:

$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=a-d,DC=loc'))
    {
      $AddItems = @(
        [pscustomobject]@{Name=Report;Path="\\a-d.loc\DFS\Reports"}
        [pscustomobject]@{Name='Scans';Path="\\a-d.loc\DFS\Scans"}
        [pscustomobject]@{Name='Test1';Path="$env:USERPROFILE\Downloads"}
  )
       ForEach ($Item in $AddItems)
        {          
            if (($Item.Name -notin $results.Name) -and (Test-Path -Path $Item.path)) {
            $QuickAccess.Namespace($Item.path).Self.InvokeVerb("pintohome")
         }
        }
    }

หากผู้ใช้เป็นสมาชิกของกลุ่ม MUN_SaleManagers สคริปต์ PowerShell นี้จะตรวจสอบว่ารายการ QuickAccess ของผู้ใช้มีโฟลเดอร์ที่ปักหมุดจาก

$AddItems

อาร์เรย์ หากโฟลเดอร์ดังกล่าวหายไปจากการเข้าถึงด่วน สคริปต์จะตรวจสอบความพร้อมใช้งานของเส้นทางที่ระบุและปักหมุดโฟลเดอร์

คุณสามารถเพิ่มเงื่อนไขต่างๆ ให้กับสคริปต์เพื่อตรวจสอบว่าผู้ใช้เป็นสมาชิกของกลุ่มความปลอดภัย AD อื่นๆ หรือไม่ ด้วยเหตุนี้ สคริปต์ PowerShell จะปักหมุดโฟลเดอร์ไปยังรายการการเข้าถึงด่วนของผู้ใช้ตามการเป็นสมาชิกกลุ่ม AD

บันทึก PowerShell นี้ลงใน

\\a-d.loc\NETLOGON

บนตัวควบคุมโดเมน AD (ซึ่งอนุญาตให้ละเว้นการตั้งค่านโยบายการดำเนินการ PowerShell) และเรียกใช้เป็นสคริปต์การเข้าสู่ระบบของผู้ใช้โดยใช้นโยบายกลุ่ม (ข้อมูลเพิ่มเติมเกี่ยวกับการเรียกใช้สคริปต์ PowerShell ผ่าน GPO)