电源外壳替换快捷方式目标



有人可以检查这个脚本并指出我正确的方向吗?我没有收到任何错误,但脚本没有按预期工作。我正在尝试实现根据登录用户更改的快捷方式目标。我的Powershell技能是基本的,我相信这里一定缺少一些逻辑:-

#$shell = new-object -com wscript.shell
$loguser="username"
$link ="test1.lnk"
$oldtarget=$link.tragetpath 
$oldpath="c:notepad.exe"
Get-ChildItem  -Filter $link -Recurse
if ($oldtarget -eq $oldpath)
{
$csvfile=Import-csv "c:test.csv"
$newtarget=$row.newpath
$user=$row.user
(get-Content $csvfile) | foreach-object {$_.$user -match $loguser} | -replace        $oldtarget $newtarget
}
$link.SaveInfo

修改快捷方式的更好方法是摆脱 VBScript shell 并使用 P/Invoke。看看Poshcode中的示例代码。它包含大约 1200 行代码,所以我不会在这里复制它。

最新更新