2009-08-17 10 views
64

Próbuję uruchomić program debugowania jako inny użytkownik. Teraz można to zrobić, uruchamiając plik exe i dołączając go do programu Visual Studio, ale jest to uciążliwe.RunAs Inny użytkownik podczas debugowania w programie Visual Studio

Co próbowałem zrobić to użyć "RunAs" polecenie:

command.com /C runas /env /user:OtherUser DebugTarget.Exe 

Ale ten jest dołączony do command.com, Visual Studio chce exe. Teraz mogę stworzyć dummy app .... ale ktoś ma lepsze rozwiązanie dla tego?

+0

TO JESZCZE BRILLIANT. Teraz czuję się tak głupio, jak używam właśnie używanego cmd.exe, aby przetestować to. Ugh. – moogs

Odpowiedz

26

To działa (czuję się tak idiotyczne):

C:\Windows\System32\cmd.exe /C runas /savecred /user:OtherUser DebugTarget.Exe 

Powyższe polecenie poprosi o podanie hasła za każdym razem, więc dla mniej frustracji, można użyć/savecred. Pytasz tylko raz. (Ale działa tylko na Home Edition i Starter, myślę)

+2

Jak to zrobić w Visual Studio? Czy otwierasz rozwiązanie, budujesz i jakoś uruchamiasz powyższą komendę z Visual Studio? Używam VS2008. –

+4

Mam to, zobacz http://social.msdn.microsoft.com/Forums/en/vsdebug/thread/eeba26cb-2336-4a80-99f4-ca4167d0758c –

16

można również użyć VSCommands 2010 uruchomić jako inny użytkownik:

alt text

+6

Należy wspomnieć, że potrzebujesz VSCommands Pro, aby ta funkcja była włączona. W wersji Lite (bezpłatnej) te polecenia wydają się być dostępne, ale nic się nie dzieje, gdy są wywoływane. Próbowałem go z VS2010 Pro. – d11

+0

Przetestowałem to za pomocą aplikacji konsoli C#, która wypisuje nazwę użytkownika, na którym działa aplikacja. Używanie opcji uruchamiania jako inny użytkownik działa dobrze. Nie wiem o uruchomieniu jako administrator lub działa jako zwykły użytkownik ... – froeschli

+0

@ d11 Próbowałem go z "VSCommands for Visual Studio 2013", i działa zgodnie z oczekiwaniami. (Z wyjątkiem tego, że wymagane są pełne ścieżki dla wszystkiego, co podano w "Argumentach wiersza poleceń".) –

2

cmd.exe znajduje się w różnych miejscach, w różnych wersjach systemu Windows . Aby uniknąć konieczności lokalizacji cmd.exe, możesz użyć polecenia moogs napisał bez wywoływania "cmd.exe/C".

Oto przykład, który pracował dla mnie:

  1. Otwórz wiersz polecenia
  2. Przejdź do katalogu, gdzie plik .exe danej aplikacji mieści.
  3. Wykonaj następujące polecenia: runas/user: domena \ nazwa_użytkownika Application.exe

Więc Ostatnim krokiem będzie wyglądać tak w wierszu polecenia:

C:\Projects\MyProject\bin\Debug>runas /user:domain\username Application.exe 

Uwaga: domena imię było wymagane w mojej sytuacji.

62

kolejny bardzo prosty sposób to zrobić (jak wspomniano w a link above), który nie wymaga żadnych innych narzędzi:

  • klucz przytrzymaj klawisz Shift i kliknij prawym przyciskiem myszy, aby otworzyć nowe wystąpienie programu Visual Studio.
  • kliknij przycisk „Uruchom jako inny użytkownik” Run as different user
  • Wprowadź poświadczenia innego użytkownika w następnym oknie pop-up
  • Otwórz samo rozwiązanie pracy z

Teraz podczas debugowania rozwiązanie będzie z uprawnieniami innego użytkownika.

(Wskazówka: jeśli zamierzasz uruchamiać wiele instancji programu Visual Studio, zmień jego motyw (jak na "ciemny"), aby łatwo było sprawdzić, który z nich jest dostępny).

+0

To zdecydowanie najlepsze rozwiązanie. Działa bardzo dobrze. Jedynym problemem jest to, że jeśli nie możesz uzyskać dostępu do TFS lub któregoś z płatnych dodatków (np. R #). Pracowałem nad tym przez zwykłe ponowne otwarcie rozwiązania normalnie (pod moim kontem). – gregsdennis

+0

Nie ma nic złego w otwieraniu tego samego rozwiązania od dwóch różnych użytkowników, tak jak sugeruje ta odpowiedź.Możesz je otworzyć obok siebie, dlatego zasugerowałem zmianę motywu VS na jeden z nich. – Watki02

+0

Wystąpił problem z tym rozwiązaniem. Debugger wprowadził nieskończoną pętlę, gdy Show został wywołany w oknie. – Anders

5

używam następujące metody opartej na @ Watki02 za odpowiedź:

  1. Przesunięcie R-kliknij aplikację do debugowania
  2. Uruchom jako inny użytkownik
  3. Dołączanie debugera do wniosku

W ten sposób można zachować instancję wizualną jako własnego użytkownika podczas debugowania z drugiej.

0

Używam programu Visual Studio 2015 i próbuję debugować witrynę o różnych poświadczeniach.

(jestem obecnie testuje stronę internetową w sieci rozwoju, który ma kopię aktywnego katalogu na żywo, mogę „porwać” kont użytkowników do uprawnień testowych w sposób bezpieczny)

  1. rozpocząć debugowanie z Twój normalny użytkownik, zapewnić można dostać się do http://localhost:8080 jako normalnego etc
  2. Daj inny użytkownik „Full Control” dostęp do katalogu domowego normalnego użytkownika, czyli C: \ Users \ Colin
  3. Dokonać innego użytkownika an administr ator na twoim komputerze. Kliknij prawym przyciskiem myszy Komputer> Zarządzaj> Dodaj innego użytkownika do grupy administratorów
  4. Uruchom program Internet Explorer jako innego użytkownika (Shift + Right Click Internet Explorer Uruchom jako inny użytkownik)
  5. przejdź do localhost URL w tym oknie IE

Naprawdę wygodnie zrobić szybkie testy. Dostęp do pełnej kontroli jest prawdopodobnie przesadą, ale rozwijam się w odizolowanej sieci. Jeśli ktoś doda uwagi na temat bardziej szczegółowych ustawień, chętnie edytuję ten post w przyszłości.

Powiązane problemy