Возникла проблема с некоторыми PowerShell. В основном я пытаюсь удалить определенные ярлыки панели задач на основе пути ярлыков/exe-файла.
Следующий код получает закрепленные ярлыки и их имена из папки AppData:
Function Get-TaskbarShortcuts
{
Begin{
Clear-Host
$Path = "C:\Users\username\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar"
$x=0
} # End of Begin
Process
{
$TaskbarShortcuts = Get-ChildItem $Path -Recurse -Include *.lnk
ForEach($ShortCut in $TaskbarShortcuts)
{
$Shell = New-Object -ComObject WScript.Shell
$Properties = @{
ShortcutName = $Shortcut.Name
LinkTarget = $Shell.CreateShortcut($Shortcut).targetpath
}
New-Object PSObject -Property $Properties
$x ++
Write-Host $ShortCut
} #End of ForEach
[Runtime.InteropServices.Marshal]::ReleaseComObject($Shell) | Out-Null
} # End of Process
End{}
}
Мне нужно изменить этот код, чтобы удалить определенные ярлыки... скажем, например, пользователь закрепил «C:\Windows\notepad.exe», но назвал имя ярлыка как-то странно. Как удалить фактическую булавку с панели задач (а не просто удалить файл ярлыка)?