Windows msi run as

Содержание
  1. Run MSI File As Administrator in batch file
  2. 2 Answers 2
  3. msiexec /a != Run as Administrator
  4. Not the answer you’re looking for? Browse other questions tagged batch-file administrator or ask your own question.
  5. Linked
  6. Related
  7. Hot Network Questions
  8. Subscribe to RSS
  9. How to install or run MSI files as admin in Windows 8 and 8.1 [Guide]
  10. How to install or run MSI files as Administrator in Windows 8 and 8.1
  11. CONCLUSION
  12. Microsoft — How to Run .msi Files as Administrator
  13. How to run .msi files as administrator
  14. First Option
  15. Second Option
  16. Запуск программ от имени другого пользователя (RunAs) в Windows
  17. Запуск программы от имени другого пользователя из Проводника Windows (File Explorer)
  18. Включить пункт “Запуск от имени другого пользователя” в контекстном меню проводника Windows
  19. Команда Runas – запуск программ от имени другого пользователя из командной строки
  20. Запуск программ от имени другого пользователя без ввода пароля
  21. Ярлык с запуском программы от имени другого пользователя
  22. Запуск оснастки MMC консоли от имени другого пользователя
  23. Как добавить пункт “Запуск от имени” для программ в меню Пуск?

Run MSI File As Administrator in batch file

I want to install our software by running MyInstall.msi. I did this,

/a is supposed to run as administrator. But after added this argument, the installing wasn’t quiet anymore, even I added the -quiet argument. How do I use the adminstror to install the software quietily?

2 Answers 2

msiexec /a != Run as Administrator

/a tell the windows installer to to make an administrative install point (AIP), which is like creating a new, customized install image. You, generally, can preconfigure some installation choices for the AIP. Then, when someone installs the software from the AIP, all those choices are already made. Usually, you’d make the AIP available over the network, and client computers would install the application from there. I think you can also apply updates to the AIP, and all the clients that use the AIP will install the updates automatically.

This has nothing to do with «run as Administrator,» which is about process elevation. msiexec.exe will usually need to run in an elevated context, but you either need to do that outside the script where you’re invoking msiexec or have the script start an elevated process. (Some ideas for that can be found at: How can I auto-elevate my batch file, so that it requests from UAC administrator rights if required?.)

/i and /a can’t work together. just eliminate, would work fine.

Not the answer you’re looking for? Browse other questions tagged batch-file administrator or ask your own question.

Linked

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.4.16.39093

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Previous Post
Next Post

How to install or run MSI files as admin in Windows 8 and 8.1 [Guide]

Tip / Trick

When you want to install a package such as .exe , you can right click and choose “Run as Administrator” . However when you right click an MSI package , you’ll find out that “Run as administrator” option is not available . Follow our guide below on how to install an MSI package as administrator .

How to install or run MSI files as Administrator in Windows 8 and 8.1

Step 1 : Right click on start menu and select Run from the pop up menu that appears.

Step 2 : The Run dialog box appears . Type regedit into the box and click Ok . If a User Account Control dialog box appears , click Yes.

Step 3 : The Registry Editor windows opens . Now go to the following directory :

HKEY_CLASSES_ROOT\Msi.Package\shell

Step 4 : Right click on shell and click New -> Key

Step 5 : The new key is added under shell . Rename it to runas.

Step 6 : Right click on (Default) in the right pane of runas and select Modify from the menu that appears.

Step 7 : An Edit String dialox box appears . Type Install as &Administrator in the value data box.

Step 8 : Right click on runas you created earlier and select New -> Key and rename it to command.

Step 9 : Click command and from the right pane , right click on default and type in the following into Edit String box :

msiexec /i “%1”

Step 10 : Click Ok and close the Registry Editor windows. You’re done!

CONCLUSION

MSI packages can’t be installed as administrator by default . However by making changes to the Registry Editor , you will be able to install it as administry . After following the above tutorial , you will be able to install an MSI package as administrator. When you right click on an MSI package , you’ll see an option named “Install as Administrator” .

Microsoft — How to Run .msi Files as Administrator

How to run .msi files as administrator

Starting in Windows Server 2012 the «Run as administrator» option no longer appears when right clicking a .msi file. This may be a required step when installing certain applications onto your Windows Server. Below are some options to be able to run a .msi file as an administrator.

Читайте также:  Microsoft onenote namespace extension windows desktop search

First Option

As a single use solution, you can run the .msi as an administrator from the Windows command prompt.

  1. Open elevated Command Prompt. To do so, type «CMD» in Start menu or Start screen search box, and then simultaneously press Ctrl+Shift+Enter keys.
    • Alternatively you can also right click the Start icon in the bottom left corner and select «Command Prompt (Admin)»
  2. Click Yes button when you see the UAC prompt.

In the Command Prompt, navigate to the directory that the install file is located in and run the install file.

Second Option

As a more long term solution you can modify the registry to add the «Run as administrator» option back when right clicking on a .msi file. If you would like to bypass manually editing the registry and simply run a ready-to-use registry file, click here . Please note, that if you are not experienced in editing Windows registry I highly recommend using only option 1 above.

  1. Open Registry Editor
  2. Go to the following Registry key: «HKEY_CLASSES_ROOT\Msi.Package\shell»

If you have no such Registry key, then just create it.

Create here a new subkey named «runas«. You will get «HKEY_CLASSES_ROOT\Msi.Package\shell\runas»

Under the runas subkey, create a new subkey called «command«

Set the default parameter of the command subkey to the following text: «C:\Windows\System32\msiexec.exe /a \»%1\» %*«

Your registry should now look like the image below:

You can now test and right click on any .msi file and you should see the option to «Run as administrator».

Запуск программ от имени другого пользователя (RunAs) в Windows

Любой пользователь Windows может запустить в своей сессии программы от имени другого пользователя (Run As). Благодаря этому можно выполнить скрипт (.bat, .cmd, .vbs, .ps1), исполняемый .exe файл или запустить установку приложения (.msi, .cab) с полномочиями другого, как правило привилегированного, пользователя .

Например, вы можете использовать RunAs для установки программ или запуска MMC оснасток с правами администратора непосредственно в сессии непривилегированного пользователя. Также возможность запуска программ “от имени” может быть полезна, когда приложение настроено под другим пользователем (и соответственно хранит свои настройки в чужом профиле, к которому у данного пользователя нет прав доступа), а его нужно запустить с теми же настройками в сессии другого пользователя.

В Windows 10 есть несколько способов запустить программу или процесс от имени другого пользователя.

Запуск программы от имени другого пользователя из Проводника Windows (File Explorer)

Самый простой способ запустить программу из-под другого пользователя – воспользоваться графическим интерфейсом Проводника Windows (File Explorer). Просто найдите нужно приложение (или ярлык), зажмите клавишу Shift и щелкните по нему правой кнопкой мыши. Выберите пункт контекстного меню «Запуск от имени другого пользователя» (Run as different user).

В появившемся окне нужно указать имя и пароль пользователя, под чьей учетной записью нужно запустить программу и нажать кнопку ОК.

Откройте Диспетчер задач и убедитесь, что приложение запущенно под указанным пользователем.

Включить пункт “Запуск от имени другого пользователя” в контекстном меню проводника Windows

Если в контекстном меню проводника Windows отсутствует пункт Запуск от имени другого пользователя (Run as different user), откройте редактор локальных групповых политик (gpedit.msc) и убедитесь, что в разделе Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Пользовательский интерфейс учетных данных (Computer Configuration -> Administrative Templates -> Windows Components -> Credential User Interface) отключена (Не задана) политика Запрашивать достоверный путь для входа в учетную запись (Require trusted path for credential entry)

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

В Windows есть консольная утилита runas.exe, которая используется для запуска приложений от имени другого пользователя из командной строки. Также команда runas позволяет сохранить пароль пользователя в Windows Credential Manager, чтобы его не приходилось набирать каждый раз.

Откройте командную строку (или окно Выполнить, нажав сочетание клавиш Win+R). Для запуска Блокнота с правами учетной записи admininstrator выполните команду:

runas /user:administrator “C:\Windows\cmd.exe”

runas /user:”user test” notepad.exe

В отрывшемся окне появится приглашение «Введите пароль для admin», где нужно набрать пароль и нажать Enter.

Должно открыться ваше приложение. В моем случае это cmd. В заголовке окна указано Запущено от имени CompName\username :

Можно, например, открыть панель управления под другим пользователем:

runas /user:admin control

Для запуска программы из-под доменного пользователя нужно использовать формат имени UserName@DomainName или DomainName\UserName . Например, чтобы с помощью блокнота открыть текстовый файл от имени пользователя домена CORP, используйте команду:

runas /user:corp\server_admin “C:\Windows\notepad.exe C:\tmp\2871997×64.txt”

Иногда нужно запустить программу от имени доменного пользователя с компьютера, который не добавлен в домен AD. В этом случае нужно использовать такую команду (при условии, что в сетевых настройках вашего компьютера указан DNS сервер, который может отрезолвить этот домен):

runas /netonly /user:contoso\aaivanov cmd.exe

Если для запуска программы от другого пользователя не нужно загружать его профиль, используйте параметр /noprofile . При этом приложение запускается намного быстрее, но может вызвать некорректную работу программ, которые хранят данные в профиле пользователя.

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

Вы можете сохранить пароль пользователя, который вы вводите. Для этого используется параметр /savecred.

runas /user:admin /savecred “C:\Windows\notepad.exe”

После указания пароля он сохранится в диспетчере паролей Windows.

При следующем запуске команды runas под этим же пользователем с ключом /savecred Windows автоматически получит сохраненный пароль из Credential Manager, а не будет запрашивать его повторно.

Чтобы вывести список всех пользователей, для которых сохранены пароли, используется команда:

Однако использование параметра /savecred не безопасно, т.к. пользователь, в чьем профиле сохранен чужой пароль может использовать его для запуска любой команды под данными привилегиями, или даже сменить чужой пароль. Кроме того, сохраненные пароли из Credential Manager можно легко украсть, поэтом лучше запретить использование сохраненных паролей (а тем более нельзя сохранять пароль привилегированной административной учетной записи).

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

Можно создать на рабочем столе ярлык, позволяющий запустить программу от имени другого пользователя. Просто создайте новый ярлык, в окне с адресом объекта которого укажите команду runas с нужными параметрами.

При запуске такого ярлыка будет запрашиваться пароль пользователя.

Если дополнительно указать в ярлыке runas параметр /savecred , то пароль будет запрошен только один раз. После этого пароль будет сохранен в Credential Manager и автоматически подставляться при запуске ярлыка от имени другого пользователя без запроса пароля.

Такие ярлыки довольно часто используются для запуска программ, которые требуют прав администратора для запуска. Однако есть более безопасные способы запуска программы без прав администратора, или отключения запроса UAC для определенного приложения.

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

В некоторых случаях от имени другого пользователя нужно запустить одну из управляющих оснасток Windows. К примеру, если под другим пользователем нужно запустить оснастку Active Directory Users and Computers из набора инструментов администрирования RSAT, можно воспользоваться такой командой.

runas.exe /user:DOMAINname\USER “cmd /c start \”\” mmc %SystemRoot%\system32\dsa.msc”

Аналогичным образом можно запустить любую другую оснастку (главное знать ее имя).

Как добавить пункт “Запуск от имени” для программ в меню Пуск?

По-умолчанию в Windows 10 у элементов меню Пуск (начального экрана) отсутствует возможность запуска приложений от имени другого пользователя. Чтобы добавить в контекстное меню пункт “Запуск от имени другого пользователя”, нужно включить политику Показывать команду «Запуск от имени другого пользователя» при запуске (Show “Run as different user” command onStart) в разделе редактора групповых политик (консоль gpedit.msc) Конфигурация пользователя ->Административные шаблоны -> Меню Пуск и панель задач (User Configuration -> Administrative Templates -> Start Menu and Taskbar).

Либо, если редактор gpedit.msc отсутствует, создать в ветке реестра HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer ключ типа DWORD с именем ShowRunasDifferentuserinStart и значением 1.
New-ItemProperty -Path «HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Explorer» -Name ShowRunasDifferentuserinStart -Value 1 -PropertyType DWORD -Force

Осталось обновить групповые политики (gpupdate /force) и убедиться, что у программ в меню Пуск появится новое контекстное меню Дополнительно -> Запуск от имени другого пользователя.

Еще один, наверное самый простой способ, не указали. В проводнике, правым кликом с зажатой клавишей Shift

Извиняюсь, не внимательно прочитал…

Доброго,
Как в W10 запустить «Диспетчер задач» и «параметры» (SystemSettings) от имени Администратора?

Диспетчер приложений можно найти поиском и через правый щелчок сделать запуск от имени администартора.
Панель настройки можно вызвать командой: start ms-settings: В теории можно запустить командную строку из под админа и выполнить эту команду.
Не уверен, конечно, что так можно сделать из под простого пользователя.

Добрый день! не выходит сделать с помощью ключа savecred на билде 1803, тот же ярлык и та же программа на 1709 запускается. Пароль сохраняет но не запускает, никто с таким не сталкивался?

Программа расположена на локальном диске? Или вы запускаете ее из сетевой папки (через UNC путь и подмонтированной через net use)?

если запускаем из UNC, то сетевые диски не мапятся. Как сделать, чтоб сетевые диски мапились?

Сетевой диск не доступен в активной сессии? А вы видите его в сессии другого пользователя, из-под которого делали runas?

Возможно ли в windows xp, находясь в другой учётной записи, запустить программу от имени администратора так, чтобы она считала, что она запущена от вышеупомянутой другой учётной записи? То есть, предоставить ей привилегии администратора, но чтобы она сохраняла и считывала данные в другой учётной записи. Если знаете, подобно сделано в Linux. В ней, если предоставляешь программе права администратора, её настройки и данные сохраняются в учётной записи в которую ты вошел, а не в учетной записи администратора.

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

В ней есть функция «установить и следить», позволяющяя установить программу с помощью этой программы и отслеживать, какие файлы и папки, а также изменения в реестре создаёт программа. Для этого требуется запускать её от имени администратора. Но если она запущена от имени администратора, то и программы она устанавливает тоже от имени администратора. И естественно, эти программы запускаются о имени администратора, что во-первых не безопасно, а во-вторых, они сохраняют все свои данные в учетной записи администратора, что мне не нужно, так как использовать я их буду не в учётной записи администратора. Конечно, я их после этого смогу запускать не в учетной записи администратора, но ведь данные, которые они сохранили при запуске в учетной записи администратора, в ней и останутся и так будет с каждой программой.

RUNAS [ [/noprofile Но это мало похоже, она будет запущенна всё равно от админа.

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

возможно просто предоставить пользователю права админа.

Ага, в том числе и вирусам. Я специально пользуюсь не адинистраторской учёткой, чтобы вирусам не дать шанса на проникновкение.

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

После установки программу требуется сразу запускать и настраивать, чтобы следящая за ней программа могла отследить, что она создаёт и изменяет после запуска. Я не идиот, чтобы запускать в админке только что установленную прогу.

Работая в XP не нужно беспокоится о вирусах 🙂 — система не поддерживается уже несколько лет. Последние истории с уязвимостями в smb1 (wannacry и not-a-petya должны были гарантированно сложить XP при попадании вируса в локальную сеть :). Будут еще…
В вашем случае вам нужен какой-то способ временного повышения прав пользователя до администратора при установке программы. У меня нет готовых ответов. из идей:
Т.е. перед установкой программы администратора запускает от себя некий скрипт, который добавляет пользователя в админы, запускает установку программы под пользователем (обязательно новая сессия) и сразу удаляет его из админов. Но запущенная сессия установки все еще привеллигированная.

@ Я специально пользуюсь не адинистраторской учёткой, чтобы вирусам не дать шанса на проникновкение.
Но в XP нет UAC.. и пользователь не спасёт.

Но тогда мне бы не приходилось запускать программы от администратора.

Подскажите, столкнулся с проблемой. Работаю не от администратора. Нужно запустить несколько программ от другого пользователя. Пытаюсь через runas запустить хотябы одну, но пароль от другой учётки не вводится

Укажите какую команду runas вы используете для запуска приложения от имени .другого пользователя. Пароль запрашивается? Пробовали сделать runas из Explorer ? ( Shift+right click по ярлыку и выбор пункта меню «Запуск от имени другого пользователя»

Ребят, чё за дела? Я не могу ввести логин или пароль переходя по ссылке скажите, как это сделать?

runas /user:admin «C:\Windows\notepad.exe»

А зачем вводить .\ перед именем пользователя?

«.\» перед именем учетки означает имя компьютера. Особенно это хорошо, когда имя компьютера не назначено вручную, а оставлено сгенерированным. Естественно, в RDP-подключении нужно указывать имя удаленного компьютера полностью

Столкнулся с тем, что в windows 10 запустить приложение от имени другого пользователя (администратора) очень проблематично. Запуск происходит только в первые минуты после запуска винды, а через некоторое время такая команда просто вешает систему и все. Выйти можно только через ctrl+alt+del. Проблема наблюдается на сборке 1903 и на предыдущей.

Тоже встречался с зависанием при runas на Windows 10 1803, после обновления до 1909 вроде нормально.
Еще заметил, что проблема проявлялась, если у доменного пользователя не создан локальный профиль (ни разу под ним не входили).

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

В теории, если ваш компьютер настроен на DNS домена можно попробовать так:
runas /netonly /user:winitro\ivanovaa cmd.exe

Запуск панелей управления в сеансе обычного пользователя с правами администратора не работает. Все равно приходится полностью входить в сеанс с правами пользователя. Например, везде пишут чтоб удалить программу достаточно использовать команду вида:
runas /user:domain\username «control.exe appwiz.cpl»
Оно запускается, но привелегий админимстратора все равно не появляется. В чем может быть проблема?

Да есть такая проблема, это UAC. По идее он должен запрашивать у вас пароль при запросе превышений привелегий. У вас UAC как-то настраивается специально?

Тоже думал что UAC, он видимо отключен. Пароль запрашивается только в командной консоли, запрос пароля от UAC не появляется.

Добрый день.
А можно сделать как-то, чтобы после загрузки производилась автоматическая авторизация всех пользователей на ПК, можно поочередно, чтобы все профили подгрузились и в них выполнился автозапуск, и программы запустившиеся там остались работать? Или запустить программы, непосредственно в среде пользователя? Чтобы ручками не надо было заходить в пользователя1 -> сменить пользователя -> вход в пользователь2 -> сменить пользователя -> вход в спользователя3 -> сменить пользователя и т.д. ЕСть такое решение?
[url=https://ibb.co/h2TS3fZ][img]https://i.ibb.co/h2TS3fZ/1.jpg[/img][/url]

В теории можно попробовать сделать логон скрипт, которые делает runas каждого пользователя и запуск определенной программы.

Добрый день!
Может немного не в тему, как через bat файл добавить несколько строк в файл \etc\services.
Строки добавить могу, но не могу сделать так, чтобы при повторном запуске этого bat файла строки не добавлялись повторно (делаю это для gpo).

Пример добавления трех строк:
@echo off
echo msR 3100/tcp # Message Server Port >> C:\Windows\System32\drivers\etc\services
echo msP 3100/tcp # Message Server Port >> C:\Windows\System32\drivers\etc\services
echo msH 3100/tcp # Message Server Port >> C:\Windows\System32\drivers\etc\services

Пример добавления с исключением но только для одной строки:
@echo off
IF EXIST «%TEMP%\editservice.ok» goto end
echo msR 3100/tcp # System Server Port >> C:\Windows\System32\drivers\etc\services
echo row added >> %TEMP%\editservice.ok
:end
exit

Добрый день.
Есть доменная машина на windows 10 20h2.
Машина домен не видит. Локальный админ включен и работает.
Включен UAC.
Подключаюсь к машине через teamviewer. Выполняю запуск консоли от админа.
TV не может отобразить запрос пароля.
Хорошо. Запускаю PoSh от пользователя, в консоли запускаю блокнот от админа.
Открываю файл хостс, редактирую, но при сохранении оказывается, что блокнот запущен без привилегий.
runas /user:администратор «notepad C:\windows\system32\drivers\etc\hosts»
start-process notepad -cred администратор

Как же так?! Может кто-нибудь сталкивался с подобными?

Было подобное вы при подключении можете выбрать авторизацию на уровне виндуз а не TV?

Я подключаюсь в сеанс пользователя.

Как сделать запуск от имени другого администратора? Т.е. выполнив вход в систему под пользователем, входящим в группу локальных администраторов, сделать запуск от имени другого пользователя, который тоже входит в группу локальных администраторов на этом компьютере. Бывает нужно для запуска командлетов в Powershell под определенной сервисной учетной записью, при этом для выполнения требуются повышенные привилегии.

Читайте также:  Как установить kali linux android
Оцените статью