
บางครั้งผู้ดูแลระบบจำเป็นต้องปักหมุดแอปหรือทางลัดบางอย่างไปยังโฟลเดอร์และรายการอื่นๆ ในทาสก์บาร์ของผู้ใช้ Windows โดยทางโปรแกรม วิธีการจัดการแอปและรายการที่ปักหมุดไว้บนแถบงานมีการเปลี่ยนแปลงไปใน Windows เวอร์ชันใหม่ทุกเวอร์ชัน โดยเฉพาะอย่างยิ่ง เราพบว่าสคริปต์ที่ใช้ก่อนหน้านี้ส่วนใหญ่สำหรับการปักหมุดหรือเลิกปักหมุดไอคอนแอปบนทาสก์บาร์ซึ่งทำงานในเวอร์ชันก่อนหน้านั้นไม่สามารถใช้งานได้ใน Windows 11 ในโพสต์นี้ ฉันจะกล่าวถึงสคริปต์ PowerShell หลายสคริปต์ที่สามารถใช้เพื่อปักหมุดหรือเลิกปักหมุดรายการต่างๆ บนทาสก์บาร์ใน Windows 11 25H2
shell:::{4234d49b-0245-4df3-b780-3893943456e1} อินเทอร์เฟซเนมสเปซผ่านอินเทอร์เฟซ Shell COM เพื่อปักหมุดทางลัดไปยังทาสก์บาร์ของ Windows โดยทางโปรแกรม เนมสเปซนี้มีอยู่ใน Windows ทุกรุ่นและมีรายการทั้งหมดที่สามารถปักหมุดหรือเลิกปักหมุดบนแถบงานได้ คุณสามารถนำทางไปยังเส้นทางนี้ใน File Explorer ได้ อย่างไรก็ตาม ใน Windows 11 เนมสเปซนี้สามารถใช้เพื่อเลิกปักหมุดรายการแถบงานเท่านั้น (ดูด้านล่าง)
ก่อนการเปิดตัว Windows 10 21H2 คุณสามารถใช้อินเทอร์เฟซเนมสเปซผ่านอินเทอร์เฟซ Shell COM เพื่อปักหมุดทางลัดไปยังแถบงาน Windows โดยทางโปรแกรม เนมสเปซนี้มีอยู่ใน Windows ทุกรุ่นและมีรายการทั้งหมดที่สามารถปักหมุดหรือเลิกปักหมุดบนแถบงานได้ คุณสามารถนำทางไปยังเส้นทางนี้ใน File Explorer ได้ อย่างไรก็ตาม ใน Windows 11 เนมสเปซนี้สามารถใช้เพื่อเลิกปักหมุดรายการแถบงานเท่านั้น (ดูด้านล่าง)
ก่อนหน้านี้ ยังสามารถคัดลอกทางลัดที่จำเป็นไปยังไดเร็กทอรี %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar เพื่อปักหมุดทางลัดเหล่านั้นไว้ที่ทาสก์บาร์ได้ ใน Windows 11 การคัดลอกทางลัดด้วยตนเองไปยังโฟลเดอร์ \User Pinned\TaskBar จะไม่ทำงานเช่นกัน (แม้ว่าในความเป็นจริงแล้ว โฟลเดอร์นี้จะเก็บทางลัดไปยังแอปที่ปักหมุดไว้)
ดูเหมือนว่า Microsoft จงใจปิดวิธีซอฟต์แวร์ทั้งหมดเพื่อปักหมุดทางลัดไว้ที่ทาสก์บาร์โดยที่ผู้ใช้ไม่รู้ตัว สันนิษฐานว่าผู้ใช้สามารถปักหมุดรายการไว้ที่ทาสก์บาร์ได้ด้วยตนเองเท่านั้น

วิธีปักหมุดแอปไว้ที่ทาสก์บาร์ใน Windows โดยใช้ PowerShell
หากต้องการปรับใช้เลย์เอาต์ที่กำหนดเองด้วยแอปที่ปักหมุดไว้บนทาสก์บาร์ของ Windows 11 คุณสามารถใช้ไฟล์พิเศษ LayoutModification.xml ได้ คุณสามารถใช้ไฟล์ XML ที่อธิบายรายการที่ปักหมุดบนทาสก์บาร์ผ่านนโยบายกลุ่ม อย่างไรก็ตาม วิธีการนี้ไม่ยืดหยุ่นในกรณีที่คุณต้องการ เช่น ปักหมุดแอปพลิเคชันหนึ่งไว้ที่ทาสก์บาร์ของผู้ใช้รายใดรายหนึ่งหลังจากการติดตั้ง 
สคริปต์ PowerShell ต่อไปนี้จะสร้างทางลัด ( .lnk ) ไปยังแอปพลิเคชันเป้าหมายในเมนู Start (อาจเป็นแอปที่ติดตั้งหรือพกพาก็ได้) จากนั้นสคริปต์จะสร้างไฟล์เค้าโครง XML ชั่วคราวสำหรับแถบงานในมาร์กอัป LayoutModificationTemplate พร้อมด้วยทางลัดไปยังแอปพลิเคชันและบันทึกลงในโปรไฟล์ผู้ใช้ (%AppData%\Microsoft\Windows\Shell\LayoutModification.xml ) หลังจากรีสตาร์ท Windows Explorer จะอ่านและใช้เค้าโครงแถบงานจากไฟล์ XML หลังจากใช้เค้าโครงแถบงาน สคริปต์จะรีเซ็ตแคชเทมเพลตและลบไฟล์ XML ดังนั้นจึงปลดล็อกเค้าโครง
` $PinnedAppName=“tcpview64”$PinnedExePath=“C:\Tools\tcpview64.exe”$PinnedLnkPath="$env:APPDATA\Microsoft\Windows\Start Menu\Programs$PinnedAppName.lnk"if (-ไม่ใช่ (เส้นทางทดสอบ $PinnedLnkPath)) {
$WshShell=New-Object-Com WScript.Shell
$app_shortcut=$WshShell.CreateShortcut($PinnedLnkPath)
$app_shortcut.TargetPath=$PinnedExePath
$app_shortcut.WorkingDirectory=แยกเส้นทาง $PinnedExePath
$app_shortcut.IconLocation=$PinnedExePath
$app_shortcut.บันทึก()
}
$xmlTemplate=@"
<เค้าโครงการปรับเปลี่ยนเทมเพลต>
<กำหนดเองทาสก์บาร์เลย์เอาต์คอลเลกชั่น>
<แถบงาน:taskbarpinlist>
<แถบงาน:desktopapp>
“@
$xmlPath="$env:LOCALAPPDATA\Microsoft\Windows\Shell\LayoutModification.xml”$xmlแม่แบบ | Out-File-FilePath $xmlPath-การเข้ารหัส UTF8-NoNewline
ลบรายการ “$env:LOCALAPPDATA\Microsoft\Windows\Shell\DefaultLayouts”-Recurse-Force-ErrorAction SilentlyContinue
หยุด-กระบวนการ-ชื่อ explorer-Force
เริ่ม-นอน 6
ลบรายการ $xmlPath-Force-ErrorAction SilentlyContinue `

ไม่เหมือนเมื่อใช้ GPO วิธีการปักหมุดรายการนี้ช่วยให้คุณหลีกเลี่ยงการแก้ไขทางลัดของแอปไปที่แถบงานแบบคงที่ หากผู้ใช้ไม่ต้องการแอปที่ปักหมุดอีกต่อไป พวกเขาสามารถเลิกปักหมุดได้ด้วยตนเอง และแอปจะไม่กลับไปที่แถบงานในครั้งถัดไปที่ลงชื่อเข้าใช้
ไวยากรณ์ที่ใช้ในไฟล์ XML ขึ้นอยู่กับประเภทของแอปพลิเคชันที่ถูกปักหมุด:
- สำหรับแอป Win32 แบบคลาสสิก: —
(ระบุเส้นทางไปยังแอปพลิเคชันที่ปฏิบัติการได้หรือ AppID ตามที่ส่งคืนโดยคำสั่งGet-StartApps) - สำหรับแอป Microsoft Store (UWP):
ให้ระบุชื่อแอปแทนเส้นทาง
หากต้องการปักหมุดแอป Microsoft Store คุณต้องได้รับชื่อ:
รับ-AppxPackage-ผู้ใช้ทั้งหมด| เลือก PackageFamilyName
ระบุชื่อและ AppID (Application User Model ID, AUMID) ของแอปพลิเคชันในตัวแปร ในตัวอย่างนี้ ฉันต้องการปักหมุดแอป Windows Terminal:
$AppName="เทอร์มินัล Windows"$AppID="Microsoft.WindowsTerminal\_8wekyb3d8bbwe!App"
หากต้องการปักหมุดแอป Microsoft Store ให้แทนที่บรรทัด ใน XML ด้วยข้อความต่อไปนี้:
<ทาสก์บาร์:uwa>
เลิกปักหมุดแอปจากแถบงานใน Windows 11 ด้วย PowerShell
การเลิกปักหมุดแอปจากแถบงานทำได้ง่ายกว่ามากเมื่อใช้ PowerShell ขั้นแรก แสดงรายการโปรแกรมที่ลงทะเบียน คอนโซลการจัดการ และแอป Microsoft Store ที่พร้อมสำหรับการปักหมุดบนแถบงาน
` $shell=New-Object-Com Shell.Application
$shell.Namespace(‘shell:::{4234d49b-0245-4df3-b780-3893943456e1}').รายการ() | เลือกชื่อ `

คัดลอกชื่อย่อของโปรแกรมที่คุณต้องการเลิกปักหมุด หากต้องการเลิกปักหมุดแอปใดแอปหนึ่งจากแถบงานโดยใช้ PowerShell ให้เรียกใช้สคริปต์ต่อไปนี้:
$appname="tcpview64"((New-Object-Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | ?{$\_.Name-eq $appname}).กริยา() | ?{$\_.Name.replace('&','')-match 'เลิกปักหมุดจากทาสก์บาร์'} | %{$\_.ทำ(); $exec=$true}
ตรวจสอบว่าแอปที่ปักหมุดไว้หายไปจากแถบงานหรือไม่
![]()
*️⃣ ลิงค์ที่มา:
เลย์เอาต์พร้อมแอพที่ปักหมุดไว้ที่ทาสก์บาร์ของ Windows 11, Get-AppxPackage,