2

У меня есть пакетный файл, который выполняет определенные операции, и в конце он копирует (используя простую команду "копировать") файл .lnk в «% ALLUSERSPROFILE%\Desktop». Раньше он работал нормально, вплоть до Windows 10. Там, когда команда копирования выполняется, она возвращает ошибку "отказано в доступе" (даже с запуском от имени администратора и с учетом того факта, что пользователь, выполняющий ее, уже является локальным администратором).

После некоторых поисков в Интернете я обнаружил, что это связано с соображениями безопасности, реализованными в Win10. Вместо этого было предложено использовать «% ALLUSERSPROFILE%\Public Desktop», потому что в Win10 это каталог "Все пользователи рабочего стола". Я попробовал это. Он не вернул ошибку, но и не скопировал файл.

Я также рассмотрел PowerShell, но, похоже, существуют ограничения безопасности, которые делают сомнительным успешное выполнение скрипта.

Это не простой ярлык (исполняемый файл находится по сетевому пути, у него есть параметры после исполняемого файла, а также значок из внешней библиотеки, а не из самого исполняемого файла), поэтому каким-то образом его создание, вероятно, будет довольно сложным. Было бы предпочтительнее просто скопировать его. Есть ли другие варианты как-то скопировать его в Public Desktop? Если нет альтернативы, есть ли другие способы, которые можно использовать, чтобы успешно создать этот ярлык, не поднимая никаких флагов безопасности? Пожалуйста, никаких решений GPO, я хотел бы быть в состоянии достичь этого в командном файле или, возможно, с помощью внешней команды / утилиты (желательно бесплатно). Также предположим, что пользователь, выполняющий эту процедуру, всегда будет локальным администратором.

1 ответ1

1

У меня нет проблем, если я использую:

copy *.lnk "%PUBLIC%\Desktop"

из командной строки с повышенными правами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .