У меня нет проблем, если я использую:
copy *.lnk "%PUBLIC%\Desktop"
из командной строки с повышенными правами.
У меня есть пакетный файл, который выполняет определенные операции, и в конце он копирует (используя простую команду «копировать») файл .lnk в «% ALLUSERSPROFILE% \ Desktop». Раньше он работал нормально, вплоть до Windows 10. Там, когда выполняется команда копирования, он возвращает ошибку «Отказано в доступе» (даже с запуском от имени администратора и учитывая тот факт, что пользователь, выполняющий его, уже является локальным администратором). ).
После некоторых поисков в Интернете я обнаружил, что это связано с соображениями безопасности, реализованными в Win10. Вместо этого было предложено использовать «% ALLUSERSPROFILE% \ Public Desktop», потому что в Win10 это каталог «Все пользователи рабочего стола». Я попробовал это. Он не вернул ошибку, но и не скопировал файл.
Я также рассмотрел PowerShell, но, похоже, существуют ограничения безопасности, которые делают сомнительным успешное выполнение скрипта.
Это не простой ярлык (исполняемый файл находится по сетевому пути, у него есть параметры после исполняемого файла, а также значок из внешней библиотеки, а не из самого исполняемого файла), поэтому каким-то образом его создание, вероятно, будет довольно сложным. Было бы предпочтительнее просто скопировать его. Есть ли другие варианты как-то скопировать его в Public Desktop? Если нет альтернативы, есть ли другие способы, которые можно использовать, чтобы успешно создать этот ярлык, не поднимая никаких флагов безопасности? Пожалуйста, никаких решений GPO, я хотел бы быть в состоянии достичь этого в командном файле или, возможно, с помощью внешней команды / утилиты (желательно бесплатно). Также предположим, что пользователь, выполняющий эту процедуру, всегда будет локальным администратором.
У меня нет проблем, если я использую:
copy *.lnk "%PUBLIC%\Desktop"
из командной строки с повышенными правами.