我正在编写一个 PowerShell 脚本来搜索 C:\Users 目录并将所有包含 \server1 的 lnk 文件更改为 \server2 但保留链接的其余部分。
到目前为止,我将继续将 LNK 的目标路径更改为“计算机”,然后使您无法编辑 LNK。谁能解释为什么这样做?
代码:
#Folder to search
$favourites_path = "C:\Users\"
#Backup C:\Users DISABLED by Default "
# Copy-Item $favourites_path "$favourites_path`1" -Recurse
$favourites = Get-ChildItem $favourites_path -Recurse -Filter *.lnk
foreach ($favourite in $favourites) {
$shortcut = (New-Object -ComObject
'WScript.Shell').CreateShortCut($favourite.FullName)
$newpath=switch -Wildcard ($shortcut.TargetPath)
{
'"\\server1*"' { $_ -replace '"\\server1"', '"\\server2"'}
}
$shortcut.TargetPath=$newpath
$shortcut.Save()
}