Argument wiersza poleceń do uruchamiania jako inny użytkownik w systemie Windows?

9

W przypadku instalatora systemu Windows .msi, jeśli określisz niestandardową akcję, która ma być uruchomiona w czasie instalacji aplikacji, zostanie uruchomiona przez użytkownika „SYSTEM”. Czy mogę go oszukać, przekazując parametr wiersza polecenia do akcji niestandardowej (plik .exe) i sprawić, aby działał w ramach zalogowanego użytkownika?

kellogs
źródło

Odpowiedzi:

14

Czy tego szukasz?

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

Po wyświetleniu monitu wprowadź hasło.

Po uruchomieniu programu przy RunAs /netonlyużyciu programu zostanie on uruchomiony na komputerze lokalnym jako użytkownik, na którym użytkownik jest zalogowany jako, ale wszelkie połączenia z innymi komputerami w sieci będą nawiązywane przy użyciu określonego konta użytkownika.

Bez tego /netonlywszystko będzie działać pod określonym kontem użytkownika.

Stanley Williams
źródło
Uważam, że „runas” to polecenie powłoki. Potrzebuję polecenia „myexe.exe”, a następnie argumentu, który sprawiłby, że działałby przy różnych poświadczeniach. Wszelkie inne wskazówki?
kellogs
1
Każdy modyfikator pojawiający się po poleceniu musi być wbudowany w program. Przykładem jest iexplore.exe / k Otwiera Internet Explorer w trybie kiosku i jest wbudowany w plik wykonywalny. Chyba, że ​​napiszesz skrypt, który wykonuje polecenie powłoki za pomocą programu, jeśli przekażesz modyfikator do skryptu, np. Myscript.bat, który uruchamia myfile.exe normalnie, ale myscript.bat / inny, który uruchamia myfile.exe za pomocą polecenia powłoki jako inny użytkownik.
Stanley Williams
Masz rację. Chyba nie ma wyjścia. Dziękuję
kellogs,
bardzo głupie @kellogs oczywiście nie można powiedzieć, że nie można tego obejść. W rzeczywistości istnieje zdecydowanie sposób na obejście tego. Kiedyś uruchomiłem skrypt, który uruchomił runas i napisałem hasło, i jest program, który uruchomi ukrytą powłokę cmd. Jest to teoretycznie możliwe jako rozwiązanie łączone. Program, który uruchamia rzeczy ukryte, to HSTART ntwind.com/software/hstart.html
barlop
3

W obszarze docelowym skrótu:

C:\Windows\System32\runas.exe /profile /user:COMPUTERNAME_04\administrator C:\totalcmd\TOTALCMD64.EXE
robbot
źródło
-2

Jeśli chcesz otworzyć aplikację inną niż Administrator, wykonaj następujące czynności - Przytrzymaj klawisz Shift + kliknij aplikację prawym przyciskiem myszy. Spowoduje to wyświetlenie opcji „Uruchom jako inny użytkownik”

Navneet
źródło
Myślę, że OP chce, aby program był wykonywany jako inny użytkownik (np. Administrator, odbywa się to tak, jak proponujesz), a następnie program wywołuje inną komendę / program, który jest uruchamiany jako oryginalny użytkownik. Odpowiadasz więc na pytanie, które nie zostało zadane.
Tim