0

我目前正在将 Windows 7 部署到各种 PC(对 powershell 来说非常新)。部署本身是成功的,但是在整个任务序列中,有一个特定的步骤必须创建快捷方式。部署完成后,没有错误或问题说脚本尚未成功,显然它没有工作。该快捷方式位于服务器上,但任务序列中的步骤是使用网络管理员帐户运行的,因此我怀疑这是权限问题。如果您在安装 Windows 后在 PowerShell 中运行脚本,则它可以正确创建应用程序的快捷方式。如果有人有类似的经历或任何可能有帮助的信息,那么我会很感激您的意见。

这是在任务序列中使用的命令行序列:

powershell.exe -ExecutionPolicy 绕过 -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File .\AppShortcut.ps1

这是实际的 powershell 脚本。

$AppLocation = "\PROGRAM\Testprogram\TestApp\App.exe"

$WshShell = 新对象 -ComObject WScript.Shell

$desktop = $wshShell.SpecialFolders.Item("AllUsersDesktop")

$Shortcut = $WshShell.CreateShortcut($desktop + "\App.lnk")

$Shortcut.TargetPath = $AppLocation

$Shortcut.IconLocation = "\PROGRAM\Testprogram\TestApp\App.exe"

$Shortcut.WorkingDirectory ="\PROGRAM\Testprogram\TestApp\"

$快捷方式.Save()

4

1 回答 1

0

我需要在没有桌面图标的情况下将应用程序静默部署给所有用户,然后在以后启用快捷方式图标以供用户使用。

我使用了这个创建它的 VB 脚本,然后将其删除,它成功了,我让它在公共配置文件桌面上创建了图标,所以所有人都拥有它;

确保为 32 位和 64 位调整目标路径。

@echo off

set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"

echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "%PUBLIC%\Desktop\<name of link>.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "<full path to your application that the icon is from>" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%

cscript /nologo %SCRIPT%
del %SCRIPT%
于 2014-11-13T17:08:54.333 回答