【问题标题】:Adding shortcut to All Users start menu将快捷方式添加到所有用户开始菜单
【发布时间】:2015-01-13 18:30:33
【问题描述】:

我在“所有用户”开始菜单 (C:\ProgramData\Microsoft\Windows\Start Menu) 中创建快捷方式时遇到问题。

Set wsc = WScript.CreateObject("WScript.Shell")
Set lnk = wsc.CreateShortcut("C:\ProgramData\Microsoft\Windows\Start Menu\My app.LNK")

lnk.targetpath = "C:\Program Files\my app\my  app.exe"
lnk.workingdirectory = "C:\Program Files\my app" 
lnk.save

【问题讨论】:

  • 那么,究竟是什么是问题?你有错误吗?一个不起作用的快捷方式?什么都没有?
  • 如果我理解,需要管理员权限,以便在以下目录中创建快捷方式
  • 因为,如果我设置另一个目录,脚本工作
  • 是的。但是,如果您在没有管理员权限的情况下运行脚本,您应该会收到错误。
  • ...无法保存快捷方式

标签: vbscript shortcut desktop-shortcut


【解决方案1】:

我找到了解决方案,这里是需要添加的脚本,在快捷方式创建脚本之前

If WScript.Arguments.Named.Exists("elevated") = False Then
  'Launch the script again as administrator
  CreateObject("Shell.Application").ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ /elevated", "", "runas", 1
  WScript.Quit
Else
  'Change the working directory from the system32 folder back to the script's folder.
  Set oShell = CreateObject("WScript.Shell")
  oShell.CurrentDirectory = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
End If

【讨论】:

  • 请注意,这仅在运行脚本的用户是管理员组的成员或知道管理员帐户的凭据时才有效。如果 UAC 被禁用,当用户不是管理员组的成员时,它将失败。
  • 你是对的,它只适用于管理员组用户,也许你知道如何为所有用户制作?
  • 如果不嵌入管理员帐户的凭据,则不可能。这是不可取的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多