Não tenho problema se usar:
copy *.lnk "%PUBLIC%\Desktop"
do prompt de comando elevado.
Eu tenho um arquivo em lotes que executa determinadas operações e, no final, copia (usando um simples comando "copy") um arquivo .lnk para "% ALLUSERSPROFILE% \ Desktop". Ele costumava funcionar muito bem, até o Windows 10. Lá, quando o comando copy é executado, ele retorna um erro "acesso negado" (mesmo com o Administrador Executar como e dado o fato de que o usuário que o executa já é um administrador local ).
Após algumas pesquisas na internet, descobri que isso ocorre devido a razões de segurança implementadas no Win10. Houve algumas sugestões para usar "% ALLUSERSPROFILE% \ Public Desktop", porque no Win10, esse é o diretório "todos os usuários da área de trabalho". Eu tentei isso. Ele não retornou um erro, mas também não copiou o arquivo.
Eu também considerei o PowerShell, mas parece que há restrições de segurança que tornam a execução bem-sucedida de um script incerta.
O atalho não é simples (o exe está em um caminho de rede, tem parâmetros após o exe e também um ícone de uma biblioteca externa, não do próprio exe), então, de alguma forma, criá-lo provavelmente seria bastante complicado. Seria preferível apenas copiá-lo. Existem outras opções para copiá-lo de alguma forma para o Public Desktop? Se não houver alternativas, existem outras maneiras que podem ser usadas para criar com êxito esse atalho sem levantar nenhum sinalizador de segurança? Por favor, sem soluções de GPO, eu gostaria de ser capaz de conseguir isso dentro do arquivo de lote ou talvez com um comando / utilitário externo (de preferência sem custo). Além disso, suponha que o usuário que está executando este procedimento seja sempre um administrador local.
Não tenho problema se usar:
copy *.lnk "%PUBLIC%\Desktop"
do prompt de comando elevado.