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

9

В установщике Windows .msi, если вы укажете настраиваемое действие, которое будет запускаться во время установки приложения, оно будет запущено от имени пользователя «SYSTEM». Можно ли обмануть его, передав параметр командной строки в настраиваемое действие (файл .exe) и заставить его работать под текущим вошедшим пользователем?

Kellogs
источник

Ответы:

14

Это то, что вы ищите?

RUNAS

Execute a program under a different user account.

Syntax
      RUNAS [/profile] [/env] [/netonly] /user:user Program

Key
   /profile   Option to load the user's profile (registry)
   /env       Use current environment instead of user's.
   /netonly   Use the credentials specified only for remote connections.
   /user      Username in form USER@DOMAIN or DOMAIN\USER
              (USER@DOMAIN is not compatible with /netonly)
   Program    The command to execute

Введите пароль при появлении запроса.

Когда вы запускаете программу с RunAs /netonlyпомощью программы, она будет выполняться на вашем локальном компьютере как пользователь, в котором вы в данный момент зарегистрированы, но любые подключения к другим компьютерам в сети будут выполняться с использованием указанной учетной записи пользователя.

Без /netonlyвсего будет работать под указанной учетной записью пользователя.

Стэнли Уильямс
источник
Я верю, что «runas» - это команда оболочки. Мне нужна команда «myexe.exe», за которой следует какой-то аргумент, который заставил бы ее работать с другими учетными данными. Любые другие намеки?
kellogs
1
Любой модификатор, который следует за командой, должен быть встроен в программу. Примером является iexplore.exe / k. Это открывает Internet Explorer в режиме киоска и встроен в исполняемый файл. Если вы не напишите скрипт, который выполняет команду оболочки с программой, если вы передадите модификатор в скрипт, такой как myscript.bat, который обычно запускает myfile.exe, но myscript.bat / another, который запускает myfile.exe через команду shell как другой пользователь.
Стэнли Уильямс
Вы правы. Я думаю, нет пути. Спасибо
kellogs
очень глупо @kellogs, очевидно, вы не можете сказать, что нет никакого способа обойти это. На самом деле, определенно есть способ обойти это. Однажды я запустил скрипт, который выполнил runas и написал пароль, и есть программа, которая будет запускать скрытую оболочку cmd. Так что это возможно в теории, как комбинированное решение. Программа, которая запускает скрытые вещи - HSTART ntwind.com/software/hstart.html
barlop
3

В ярлыке целевого пространства:

C:\Windows\System32\runas.exe /profile /user:COMPUTERNAME_04\administrator C:\totalcmd\TOTALCMD64.EXE
robbot
источник
-2

Если вы хотите открыть любое приложение, кроме администратора, выполните следующие действия. Удерживайте клавишу Shift + щелкните правой кнопкой мыши приложение. Это покажет опцию «Запуск от имени другого пользователя»

Navneet
источник
Я думаю, что OP хочет, чтобы программа выполнялась как другой пользователь (например, администратор, это делается так, как вы предлагаете), а затем программа, вызывающая другую команду / программу, которая запускается как исходный пользователь. Таким образом, вы отвечаете на вопрос, который не задан.
Тим