RunAs Visual Studio에서 디버깅 할 때 다른 사용자


80

다른 사용자로 디버깅중인 프로그램을 실행하려고합니다. 이제이 작업은 exe를 실행하고 Visual Studio에서 연결하여 수행 할 수 있지만 번거 롭습니다.

내가 시도한 것은 "RunAs"명령을 사용하는 것입니다.

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

그러나 이것은 command.com에 첨부되어 있으며 Visual Studio는 exe를 원합니다. 이제 더미 앱을 만들 수 있습니다.하지만 누구에게 더 나은 솔루션이 있습니까?


그것은 훌륭합니다. 나는 이제 이것을 테스트하기 위해 cmd.exe를 사용했기 때문에 너무 어리 석다. 으.
moogs

답변:


81

위에서 언급했듯이 디버거는 다른 사용자로 응용 프로그램을 실행합니다 (위에 링크 됨).이 작업을 수행하는 또 다른 매우 간단한 방법은 더 이상 도구가 필요하지 않습니다.

  • 홀드는 Shift+ 비주얼 스튜디오의 새로운 인스턴스를 열고 마우스 오른쪽 단추로 클릭합니다.
  • "다른 사용자로 실행"을 클릭합니다.

    다른 사용자로 실행

  • 다음 팝업 창에 다른 사용자의 자격 증명을 입력하십시오.

  • 작업중인 동일한 솔루션을 엽니 다.

이제 솔루션을 디버깅 할 때 다른 사용자의 권한이 있습니다.

힌트 : Visual Studio의 여러 인스턴스를 실행하려는 경우 테마를 변경하여 (예 : "어두움") 어느 것이 어느 것이 어느 것인지 쉽게 추적 할 수 있습니다.


이것은 여기에서 가장 좋은 해결책입니다. 아주 잘 작동합니다. 유일한 문제는 TFS 또는 유료 애드온 (예 : R #)에 액세스 할 수 없다는 것입니다. 내 계정에서 정상적으로 솔루션을 다시 열면이 문제를 해결했습니다.
gregsdennis

이 답변이 제안하는 것처럼 두 명의 다른 사용자로부터 동일한 솔루션을 여는 데 아무런 문제가 없습니다. 나란히 열어 둘 수 있으므로 VS 테마를 전환하는 것이 좋습니다.
Watki02 2013

2
Visual Studio 2015까지 수년간이 방법을 사용했습니다.이 버전의 VS에서는 다른 사용자로 실행할 때 MSDN 키를 얻기 위해 로그인 할 수 없으므로 종료됩니다. 이에 대한 해결 방법이 있습니까?
NTDLS

2
불행히도 다른 사용자로 VS를 실행하는 것은 솔루션이 소스 제어하에있을 때 잘 작동하지 않습니다.
RichardD

1
테스트 사용자가 이전에 사용하지 않은 경우 VS가 첫 사용을 준비 할 때까지 기다려야하는 문제가 있습니다. 그러나 그렇지 않으면 VS2013에 대한 치료로 작동하는 것 같습니다.
Kelly Bang

29

이것은 효과가 있습니다 (나는 너무 바보 같은 느낌) :

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

위의 명령은 매번 비밀번호를 요구하므로 불편 함을 덜기 위해 / savecred를 사용할 수 있습니다. 한 번만 요청됩니다. (그러나 Home Edition 및 Starter에서만 작동합니다.)


2
Visual Studio에서이 작업을 어떻게 수행합니까? 솔루션을 열고 Visual Studio에서 위의 명령을 빌드하고 어떻게 든 실행합니까? VS2008을 사용합니다.
Wallstreet 프로그래머


이 메서드는 코드에서 중단 점에 도달하지 않는다는 단점이 있습니다.
Lews Therin

@LewsTherin 프로젝트 실행이 시작되면 디버그-> 프로세스에 연결로 이동하여 VS 디버거를 프로그램에 연결해야합니다. 이상적은 아니지만 그것이 우리가 가진 전부인 것 같습니다.
Gabriel Luci

2
@GabrielLuci 메뉴에 도달하기 전에 실행되는 코드를 놓칠 수 있습니다. 더 나은 옵션은 코드 진입 점의 첫 번째 줄에 다음을 추가하는 것입니다.System.Diagnostics.Debugger.Launch();
Lews Therin

20

VSCommands 2010 을 사용 하여 다른 사용자로 실행할 수도 있습니다 .

대체 텍스트


6
이 기능을 사용하려면 VSCommands Pro가 필요합니다. Lite (무료) 버전에서는 이러한 명령을 사용할 수있는 것처럼 보이지만 호출 될 때 아무 일도 일어나지 않습니다. VS2010 Pro로 시도했습니다.
d11

애플리케이션을 실행하는 사용자의 사용자 이름을 출력하는 C # 콘솔 애플리케이션을 사용하여이를 테스트했습니다. 다른 사용자로 실행하는 옵션을 사용하면 정상적으로 작동합니다. 나는 ... 관리자 권한으로 실행 또는 일반 사용자로 실행 모르는
froeschli

@ d11 "VSCommands for Visual Studio 2013"으로 시도했는데 예상대로 작동합니다. (즉, 전체 경로는 "명령 줄 인수"에 지정된 아무것도 필요 제외.)
한국 Strniša

1
훌륭한 솔루션,이 확장 프로그램은 정말 훌륭하고 2012 년과 2013 년에 무료로 제공되며 이것보다 훨씬 더 유용한 기능을 추가합니다.
Tobberoth

1
이 프로젝트는 더 이상 유지되지 않습니다.
Gabriel Luci

6

@ Watki02의 답변 에 따라 다음 방법을 사용하고 있습니다 .

  1. 디버깅 할 애플리케이션을 Shift r- 클릭
  2. 다른 사용자로 실행
  3. 응용 프로그램에 디버거 연결

이렇게하면 다른 사용자로부터 디버깅하는 동안 Visual Studio 인스턴스를 자신의 사용자로 유지할 수 있습니다.


2

cmd.exe는 Windows의 다른 버전에서 다른 위치에 있습니다. cmd.exe의 위치가 필요하지 않게하려면 "cmd.exe / C"를 호출하지 않고 moogs가 작성한 명령을 사용할 수 있습니다.

나를 위해 일한 예는 다음과 같습니다.

  1. 명령 프롬프트 열기
  2. 애플리케이션의 .exe 파일이있는 디렉토리로 변경하십시오.
  3. 다음 명령을 실행합니다. runas / user : domain \ username Application.exe

따라서 마지막 단계는 명령 프롬프트에서 다음과 같이 표시됩니다.

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

참고 : 내 상황에서 도메인 이름이 필요했습니다.


0

원하는 사용자로 명령 프롬프트를 열 수 있습니다.

  • Shift + 작업 표시 줄의 명령 프롬프트 아이콘을 마우스 오른쪽 버튼으로 클릭합니다.
  • (다른 사용자로 실행)을 선택합니다.

여기에 이미지 설명 입력

  • 로그인 및 비밀번호를 묻는 메시지가 표시됩니다.

  • CommandP Prompt가 시작되면 명령으로 실행중인 사용자를 다시 확인할 수 있습니다 whoami.

  • 이제 디렉토리를 프로젝트로 변경하고 실행할 수 있습니다.

dotnet run

  • Visual Studio에서 Ctrl + Alt + P를 누릅니다 (프로세스에 연결-디버그 메뉴에서도 찾을 수 있음).

여기에 이미지 설명 입력

  • "모든 사용자의 프로세스 표시"가 선택되어 있는지 확인하십시오.
  • 실행중인 프로세스를 찾고 디버거를 연결합니다.

-1

Visual Studio 2015를 사용하고 있으며 다른 자격 증명으로 웹 사이트를 디버깅하려고합니다.

(현재 라이브 Active Directory의 사본이있는 개발 네트워크에서 웹 사이트를 테스트하고 있습니다. 사용자 계정을 "도용"하여 안전한 방법으로 권한을 테스트 할 수 있습니다.)

  1. 일반 사용자로 디버깅을 시작하고 http : // localhost : 8080 에 정상적으로 액세스 할 수 있는지 확인 하십시오.
  2. 다른 사용자 에게 제공 \ 사용자 \ 콜린 : "모든 권한"일반 사용자의 홈 디렉토리에 대한 액세스, 즉, C를
  3. 다른 사용자 만들기 컴퓨터에 관리자. 컴퓨터> 관리> 관리자 그룹에 다른 사용자 추가를 마우스 오른쪽 단추로 클릭하십시오.
  4. 다른 사용자 로 Internet Explorer 실행 (Shift + Internet Explorer 마우스 오른쪽 버튼 클릭, 다른 사용자로 실행)
  5. 해당 IE 창에서 로컬 호스트 URL로 이동하십시오.

몇 가지 빠른 테스트를 수행하는 것이 정말 편리합니다. 모든 권한 액세스는 과도하지만 격리 된 네트워크에서 개발합니다. 누구든지 더 구체적인 설정에 대한 메모를 추가하면 나중에이 게시물을 기꺼이 편집하겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.