2013-03-11 54 views
1

我试图在域中的远程桌面上创建快捷方式,我是域名管理员。如果我直接在目标机器上运行以下代码,则可以创建快捷方式,并且能够将我引导至目标路径。在远程桌面上创建快捷方式,但快捷方式是用“文件”而不是“文件夹”作为“目标类型”创建的

$shortcutpath3 = "c:\Users\Public\Desktop\Shortcuts to Test Custom\VV 1211 -TC.lnk" 
$WshShell3 = New-Object -comObject WScript.Shell 
$Shortcut3 = $WshShell3.CreateShortcut($shortcutpath3) 
$Shortcut3.TargetPath = "\\machine\testcustom\" 
$Shortcut3.Save() 

我保存这个脚本test.ps1,对不同的mahchine folloing代码运行。代码结束时没有任何错误/警告,并且使用我指定的propeties在目标机器上创建快捷方式。但它不能让我到达目标地点,它实际上要求我选择一个程序来打开该文件。我比较了这两个快捷方式的属性,发现破坏的快捷方式的“目标类型”是“文件”,而它是“文件夹”,这是一个很好的捷径。

​​

任何想法如何解决这个问题?为什么会发生这种情况?谢谢!!!

+0

你可以通过Windows资源管理器从远程机器打开目标路径吗? – 2013-03-11 07:27:16

+0

是的,我可以通过Windows资源管理器从远程机器打开目标路径。正如我所说的,如果我直接在目标机器上运行脚本,快捷方式可以正常工作。 – bookends 2013-03-11 07:43:57

+0

我不能repro,在我的情况下,目标类型显示:共享(目标服务器是2008 R2)。如果从TargetPath中删除尾部的反斜杠,它会有帮助吗? – 2013-03-11 07:45:31

回答

1

我有同样的问题,我用Get-Item使它工作。试试这个:

$targetPath = Get-Item("\\machine\testcustom\") 
$WshShell3 = New-Object -comObject WScript.Shell 
$Shortcut3 = $WshShell3.CreateShortcut($shortcutpath3) 
$Shortcut3.TargetPath = $targetPath.FullName 
$Shortcut3.Save() 
相关问题