Uruchom jako inny użytkownik i podnieś poziom

24

W Eksploratorze Windows mogę kliknąć prawym przyciskiem myszy plik wykonywalny i wybrać „Uruchom jako administrator”, który uruchomi wybrany proces z podwyższonymi uprawnieniami lub mogę kliknąć plik wykonywalny z wciśniętym klawiszem Shift i kliknąć „Uruchom jako inny użytkownik”, określ nazwa użytkownika i hasło, które uruchomią proces ze standardowymi uprawnieniami przy użyciu określonego kontekstu użytkownika.

Jak uruchomić jako inny użytkownik ORAZ uruchomić w podwyższonym kontekście? Idealnym przykładem tego byłoby otwarcie wiersza polecenia z podwyższonym poziomem uprawnień przy użyciu innego kontekstu użytkownika niż aktualnie zalogowany użytkownik.

Sztuka
źródło
Myślę, że PowerShell start-processmoże to zrobić.
jiggunjer

Odpowiedzi:

22

Nie sądzę, że taka opcja istnieje.

W ramach obejścia można uruchomić wiersz poleceń jako administrator i wykonać następujące polecenie, aby uruchomić wiersz poleceń z uprawnieniami administratora jako drugi użytkownik.

runas / netonly / user: YourUser cmd.exe

Yass
źródło
7
Możesz też kliknąć plik wykonywalny prawym przyciskiem myszy, a następnie wybrać właściwości> zgodność, a następnie wybrać Poziom uprawnień i zaznaczyć Uruchom ten program jako administrator. Następnie kliknij prawym przyciskiem myszy plik wykonywalny i uruchom jako inny użytkownik.
JamesTheDev,
@NewProgrammerJames Fajnie, dziękuję za wkład :)
Yass
@NewProgrammerJames Ta sztuczka nie działa bezpośrednio z CMD na W2008R2 i nowszych, ale poprawianie niestandardowej aplikacji powinno być możliwe.
Vesper
Działa to nawet, jeśli użytkownik końcowy nie jest w grupie administracyjnej?
jiggunjer
@jiggunjer Nie, o ile mi wiadomo.
Yass,
11

Tak, psexec absolutnie to robi.

Poniższy przykład działa czysto w systemie Windows 8.1; uruchom wiersz polecenia jako Administrator, a następnie:

// -i makes the app interactive
// -h elevates the execution context 
// Omitting the password forces a secure prompt
psexec -u DOMAIN\user -i -h "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
Paul Smith
źródło
Od Mike'a : Działa to na Windows 10!
fixer1234
7

Możesz to zrobić za pomocą PowerShell:

Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'
Darío León
źródło
1

Widzę, że jest to bardzo stare pytanie, ale podane odpowiedzi nie są idealne i już zostały nekrowane. Wszystkie istniejące odpowiedzi wymagają wpisywania archaicznych poleceń i znajomości dokładnej ścieżki do pliku wykonywalnego. Idealna opcja umożliwiłaby to przy użyciu tego samego procesu, którego już używasz do zwiększania uprawnień.

Jeśli masz system Windows w wersji innej niż Home (Vista do 10), możesz użyć Menedżera zasad bezpieczeństwa, aby poprosić o podanie hasła za każdym razem, gdy nastąpi podniesienie uprawnień. Daje to również możliwość wybrania zupełnie innego użytkownika i wprowadzenia jego hasła ... co spowoduje, że podniesiony proces będzie działał jak oni.

Po prostu otwórz menu Start i wpisz, secpol.msca następnie naciśnij klawisz Enter, aby go uruchomić (jeśli jest dostępny). Szukasz Local Policies> Security Options> User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode> Prompt for credentials. Vista ma podobną opcję, która nie wspomina o „trybie zatwierdzania przez administratora”, ale robi to samo.

Myślę, że jest to o wiele bardziej naturalna opcja niż ta oferowana tutaj i przypomina raczej gksudo na * nix. Ale jeśli twoja wersja systemu Windows nie zawiera secpol.msc, będziesz musiał dokonać hakowania rejestru, aby ją włączyć.

Cliff Armstrong
źródło
Zrobiłem to i to nie działa. I zawsze pyta o mój odcisk palca, chociaż nie konfiguruję uwierzytelniania odcisku palca.
iroel
@iroel To brzmi wyraźnie, jakby wystąpił problem z konfiguracją podsystemów uwierzytelniania systemu Windows. Powinieneś rozważyć wyszukanie SU dla rozwiązania tego problemu, a jeśli nic nie znajdziesz, rozważ opublikowanie go jako pytania. Wszystkie moje systemy są skonfigurowane w ten sposób i żaden z nich nie prosi o odcisk palca. W zależności od konta uwierzytelniam się, ponieważ proszą o hasło lub numer PIN.
Cliff Armstrong,
Do uwierzytelnienia używam odcisku palca. Tak się dzieje. 2 rozwiązania, które mają zastosowanie: nadaj użytkownikowi uprawnienia administracyjne (ale w tym przypadku nie ma to sensu), utwórz innego użytkownika i ustaw odcisk palca (użyj palca niezarejestrowanego dla określonego użytkownika) i użyj tego palca, gdy zostaniesz poproszony o podniesienie uprawnień przywilej. W tym przypadku używam ostatniego rozwiązania. Przynajmniej to działa dla mnie.
iroel
Jeśli pojawi się monit o podanie odcisku palca, oznacza to, że skonfigurowałeś użytkownika, do którego próbujesz się zalogować, aby wymagał odcisku palca lub coś jest nie tak z instalacją systemu Windows. Kropka. Używam tej konfiguracji na trzech różnych komputerach i żaden z nich nie prosi o odciski palców. Skonfigurowałem to na dziesiątkach komputerów dla klientów. System Windows wyświetli monit o podanie numeru PIN podczas logowania do użytkownika ze skonfigurowanym numerem PIN i hasłem dla wszystkich innych użytkowników. Używa dowolnej metody uwierzytelnienia skonfigurowanej dla tego użytkownika.
Cliff Armstrong,
0

Odkryłem, że jeśli zaloguję się jako konto Uruchom jako, możesz ustawić flagę „uruchom ten program jako administrator” na stronie właściwości / zgodności. Następnie zaloguj się na drugie konto i wykonaj polecenie Shift, a następnie uruchom je jako administrator.

Alan Thompson
źródło
Brzmiało to jak świetna opcja, ale we właściwościach cmd.exe nie było strony zgodności.
Sandra