#shell #uwp #sccm #desktop-shortcut
#оболочка #uwp #sccm #ярлык-файл
Вопрос:
Я использовал этот код для создания ярлыка для приложения UWP в папке автозагрузки, которое при локальном запуске от имени ПОЛЬЗОВАТЕЛЯ работает нормально и создает рабочий ярлык.
Но, когда я нажимаю этот код из SCCM, будет создан нерабочий ярлык с меньшим размером, но точно такими же разрешениями, владельцем и всем остальным.Я предполагаю, что СИСТЕМНАЯ учетная запись, в которой sccm запускает скрипт, as не видит приложение, установленное в профиле пользователя.
В среде существует политика, согласно которой пользователи обычно не имеют доступа к CMD или Powershell. В этом случае он также завершится ошибкой, поскольку у пользователей нет доступа к консолям.
On Error Resume Next
strStartMenuLocation = "c:ProgramDataMicrosoftWindowsStart MenuPrograms"
set objWShell = WScript.CreateObject("WScript.Shell")
appData = objWShell.expandEnvironmentStrings("%ProgramData%")
proloc = appData amp; "MicrosoftWindowsStart MenuProgramsStartup"
set WshShell = WScript.CreateObject("WScript.Shell")
set oShellLink = WshShell.CreateShortcut(proloc amp; "{Shortcut_Name}.lnk")
'Define where you would like the shortcut to point to. This can be a program, Web site, etc.
oShellLink.TargetPath = "shell:AppsFolder{AppFamilyName}!{AppID}"
oShellLink.Description = ""
oShellLink.WorkingDirectory = allusersdesktop
oShellLink.Save
Есть предложения о том, как создать этот ярлык?
Комментарии:
1. Ваше предположение верно, приложения зарегистрированы для каждого пользователя. Можете ли вы запустить программу при входе пользователя в систему для создания ярлыка?
2. Проблема в том, что у пользователей нет доступа к cmd или powershell, я попытался выполнить его в консоли или приложении win32 как процесс, но это не сработало.
3. Но можете ли вы заставить пользователя запускать программу при входе в систему? Или вы можете установить программу, а затем предоставить им ярлык для этой программы, которая создаст ярлык UWP?
4. Единственное, что я знаю, что может работать со знанием пользовательского контекста, но при этом использовать права администратора, — это объекты групповой политики, но я не уверен, верно ли это для чего-то нового, например, приложений (функциональность объекта групповой политики на самом деле не часто обновлялась с такими функциями), поэтому вам придется попробовать. Другой идеей было бы создать все ярлыки от имени пользователя и сохранить в центральном хранилище, а затем скопировать оттуда с помощью системной учетной записи