วิธีเพิ่มหรือลบโฟลเดอร์ที่ปักหมุดไว้ในการเข้าถึงด่วนด้วย 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)


