$root = "F:\Backup\Gavri"
$paths = @(
"$root\Desktop",
"$root\AppData\Roaming\Microsoft\Windows\Start Menu\Programs"
)
$ws = New-Object -ComObject WScript.Shell
Get-ChildItem -Path $paths -Filter *.lnk -Recurse -ErrorAction SilentlyContinue |
ForEach-Object {
$s = $ws.CreateShortcut($_.FullName)
[PSCustomObject]@{
Program = $_.BaseName
OriginalPath = $s.TargetPath
}
} | Sort-Object Program | Format-Table -AutoSize