
решение1
АОтвет StackOverflowпоказывает, как это сделать в Powershell. Простого интерфейса для добавления флага нет Run as administrator
, поэтому нужно немного перевернуть .LNK
двоичный файл.
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\7-Zip File Manager.lnk")
$Shortcut.TargetPath = "C:\Program Files\7-Zip\7zFM.exe"
$Shortcut.Save()
$bytes = [System.IO.File]::ReadAllBytes("$Home\Desktop\7-Zip File Manager.lnk")
$bytes[0x15] = $bytes[0x15] -bor 0x20 #set byte 21 (0x15) bit 6 (0x20) ON
[System.IO.File]::WriteAllBytes("$Home\Desktop\7-Zip File Manager.lnk", $bytes)
решение2
попробуйте сярлыкJS.bat - можно создать ярлык с галочкой «запуск от имени администратора» из командной строки:
call shortcutJS.bat -linkfile "some.lnk" -target "%cd%\some.bat" -adminpermissions yes
это также изменяет 21-й байт файла. Более подробную информацию можно найтигде-то в этих документах.