Подтвердить что ты не робот

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

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

UPDATE: я использую Windows Server 2012

UPDATE: я открыл cmd для другого аккаунта, запустив

 runas /user:domain\username cmd.exe

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

4b9b3361

Ответ 2

Все эти ответы, к сожалению, не увенчались успехом.

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

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

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

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

    psexec\\локальная рабочая станция -h -i -u domain\otheruser exetorun.exe

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

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

Ответ 3

Пуск → сдвиг + команда Быстрый щелчок правой кнопки мыши поможет использовать его как другого пользователя или администратора.

Ответ 4

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

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", чтобы поднять DOMAIN\USER2 в режим "Администратор/Повышенные привилегии".

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

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

Ответ 5

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

Ответ 7

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

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

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

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

Ответ 8

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

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

Ответ 9

Откройте блокнот и вставьте этот код:

@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c %*'"
@echo on

Затем сохраните файл как sudo.cmd. Скопируйте этот файл и вставьте его в C:\Windows\System32 или добавьте путь, где sudo.cmd находится в переменной среды PATH.

Когда вы открываете командную строку, вы можете запустить что-то вроде sudo start. ,

Если вы хотите, чтобы окно терминала оставалось открытым при запуске команды, измените код в блокноте на следующий:

@echo off
powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/k %*'"
@echo on

Объяснение:

powershell -Command запускает команду powershell.

Start-Process - это команда powershell, которая запускает процесс, в данном случае командную строку.

-Verb RunAs запускает команду от имени администратора.

-Argument-List запускает команду с аргументами.

Наши аргументы: '/c %*'. %* означает все аргументы, поэтому, если вы выполнили команду sudo foo bar, она запустится в командной строке foo bar потому что параметры - это foo и bar, а %* возвращает foo bar.

/c - это параметр cmd для закрытия окна после завершения команды, а /k - это параметр cmd для сохранения окна открытым.

Ответ 10

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

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