Командная строка & quot; runas user: & lt; admin-user & gt; & Lt; & команда GT; & Quot; не выполняется должным образом

Я хотел бы иметь возможность вызывать netsh из моей программы на C ++. Я пытался использовать system () для достижения этой цели. Я не знаю ни о каких параметрах для system (), которые бы давали полученным привилегиям администратора командной строки, поэтому я пытался использовать команду runas. Я тестировал команду в основной командной строке:

runas /user:<admin-user> "netsh int ip set address \"Local Area Connection\" static <IP address>"

Хотя сама команда netsh отлично работает в командной строке, которая была запущена от имени администратора, версия команды runas, похоже, не работает из обычной командной строки. Какие-либо предложения?

0

Решение

Добро пожаловать в мир административных сценариев Windows! Когда используешь runas вы только попросите, чтобы окна изменили пользователя, но вы не можете запросить повышенные привилегии.

Единственный способ, который я когда-либо нашел для этого, состоит в использовании короткой ссылки. Под проводником вы создаете короткую ссылку на .bat или лучше .cmd файл. Затем вы переходите к свойствам короткой ссылки, вкладка shortlinkдолжно быть Advanced кнопка, где вы можете проверить Run as administrator,

Затем вы можете запустить все это из командной строки или даже из другого командного файла с помощью:

link_name.lnk

Осторожно, настоящее имя может не соответствовать тому, что я написал выше: у меня есть только французская система, в которой ключевые слова Propriétés, Raccourci, Avancé ... а также Exécuter en tant qu'administrateur,

1

Другие решения


По вопросам рекламы [email protected]