如果您正在使用 LANDesk,并且您正在使用一个包来分发脚本,您可以选择作为默认的LocalSystem或作为当前用户的帐户来执行脚本。
只需打开包的属性,转到 Accounts 并选择"Current user's account"。如果没有用户登录到机器,任务将失败。
但是,如果我理解正确,问题是不允许用户在自己的桌面上创建链接?如果是这样,此解决方案将不起作用,并且任务无论如何都会失败!
我经常使用的另一种方法是执行一个脚本,该脚本循环遍历所有本地配置文件并在每个用户的桌面上创建一个链接。如果您可以使用 WSH 脚本而不是 powershell 脚本,您可以使用如下内容:
Const HKEY_LOCAL_MACHINE = &H80000002
Set objRegistry = GetObject("winmgmts:\\.\root\default:StdRegProv")
Set ws = CreateObject("Wscript.Shell")
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
objRegistry.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubkeys
For Each objSubkey In arrSubkeys
strValueName = "ProfileImagePath"
strSubPath = strKeyPath & "\" & objSubkey
objRegistry.GetExpandedStringValue HKEY_LOCAL_MACHINE, strSubPath, strValueName, strProfile
If Left(strProfile, Len(ws.ExpandEnvironmentStrings("%windir%"))) <> ws.ExpandEnvironmentStrings("%windir%") Then
Set objShtCut = ws.CreateShortcut(strProfile & "\Desktop\PI_Users.lnk")
objShtCut.TargetPath = "\\htntfs04\PI_Users"
objShtCut.Save
Set objShtCut = Nothing
End If
Next