Как запустить программу из командной строки от имени другого пользователя и администратора


Я использую "runas", чтобы открыть командную строку от имени другого пользователя, но эта командная строка не является работает как администратор. Как я могу заставить его работать как администратор?

Обновление: я использую Windows Server 2012

Обновление: я открыл cmd для другой учетной записи, запустив

 runas /user:domainusername cmd.exe

Затем я попытался запустить некоторые команды в этом новом приглашении, но это не выполняется как повышенный пользователь (даже если он имеет права администратора).

9 43

9 ответов:

Смотрите здесь: https://superuser.com/questions/42537/is-there-any-sudo-command-for-windows

В соответствии с этим команда выглядит так для admin:

 runas /noprofile /user:Administrator cmd

Все эти ответы, к сожалению, упускают главное.

Здесь есть 2 нюанса контекста безопасности, и нам нужно, чтобы они перекрывались. - "Запуск от имени администратора" - изменение уровня выполнения на локальной машине - "Запуск от имени другого пользователя" - выбор учетных данных пользователя, под которыми вы запускаете процесс.

Когда UAC включен на рабочей станции, есть процессы, которые отказываются работать, если не повышено-просто быть членом локальной группы "администраторы" недостаточно. Если ваш требование также требует, чтобы вы использовали альтернативные учетные данные для тех, с кем вы вошли в систему, нам нужен метод для вызова процесса как в качестве альтернативных учетных данных, так и с повышенными правами.

То, что я нашел, может быть использовано, хотя и немного хлопотно, это:

  • запуск командной строки от имени администратора
  • Используйте утилиту Sysinternals psexec следующим образом:

    Psexec \ \ localworkstation-h-i-u domain\otheruser exetorun.exe

Первое возвышение необходимо для того, чтобы будьте в состоянии нажать на службу psexec. -H запускает новый "удаленный" (локальный) процесс с повышенными правами, а-i позволяет ему взаимодействовать с рабочим столом.

Может быть, есть более простые способы, чем этот?

Пуск - > shift + командная строка щелкните правой кнопкой мыши поможет использовать как другой пользователь или как администратор

Я нашел способ сделать это с помощью одной строки:

runas /user:DOMAIN\USER2 /savecred "powershell -c start-process -FilePath \"'C:\\PATH\\TO\\YOUR\\EXECUTABLE.EXE'\" -verb runAs"

Есть несколько уловок, которые здесь происходит.

1: мы говорим CMD просто запустить Powershell как DOMAIN\USER2

2: мы передаем команду "Start-Process" в Powershell, используя глагол "runAs", чтобы повысить домен\USER2 до режима администратора/повышенных привилегий.

В качестве общего замечания, escape-символы в аргументе "FilePath" должны присутствовать (другими словами, "\ & \\ комбинации символов), и одинарная кавычка ( ' ) должна окружать путь EXE - таким образом, CMD интерпретирует путь к файлу как одну строку, а Powershell использует одинарную кавычку для интерпретации пути к файлу как одного аргумента.

Использование глагола "RunAs" для повышения уровня в Powershell: http://ss64.com/ps/syntax-elevate.html

Вы можете использовать psexec.exe от Microsoft Sysinternals Suite https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite

Пример:

c:\somedir\psexec.exe -u domain\user -p password cmd.exe

Runas не выполняет команды волшебным образом от имени администратора, он выполняет их от имени любой учетной записи, для которой вы предоставляете учетные данные. Если это не учетная запись администратора, то рунасу все равно.

Я предоставляю вам шаги, которые работали через GUI

Пожалуйста, найдите " cmd " в меню Пуск или строке поиска и откройте расположение файла, щелкнув по нему правой кнопкой мыши.

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

Пожалуйста, обратитесь к следующей статье для получения дополнительной информации http://www.windowscage.com/how-to-run-application-as-different-user-in-windows/

В моем случае я уже вошел в систему как локальный администратор, и мне нужно было запустить CMD как администратор домена, поэтому то, что работало для меня, было запущено ниже из окна powershell :

Runas /noprofile / user: DOMAIN\USER " cmd "

Проще всего создать пакетный файл (.bat) и запустить его от имени администратора.

Щелкните правой кнопкой мыши и выберите "Запуск от имени администратора"