2015-01-13 5 views
1

У меня возникла проблема с созданием ярлыка в меню «Все пользователи» (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 
+0

Итак, что именно * * является проблема? Вы получили сообщение об ошибке? Ярлык, который не работает? Ничего? –

+0

Если я понимаю, вам нужны права администратора, для создания ярлыка в следующем каталоге –

+0

Потому что, если я установил другой каталог, scritp working –

ответ

1

Я нашел решение для этого, вот сценарий, что нужно добавить до быстрого CREAT сценария

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 
+0

Обратите внимание, что это будет работать только в том случае, если пользователь, выполняющий скрипт, является членом группы администраторов или знает учетные данные учетной записи администратора. Если UAC отключен, он не будет работать, если пользователь не является членом группы администраторов. –

+0

Вы правы, это работает только администратор группы пользователей, может быть, вы kno w как сделать для всех пользователей? –

+0

Невозможно без учета учетных данных учетной записи администратора. Что не рекомендуется. –