최고의 답변자
VS2010 C#에서 MSTSC연결시 Credentials 이용

질문
-
하기와 같이 C# Code내에서 원격데스크톱을 사용하려고 합니다.
System.Diagnostics.Process rdcProcess = new System.Diagnostics.Process();
// Create credential
rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe");
rdcProcess.StartInfo.Arguments = "/generic:TERMSRV/" + txtSystemName.Text + " /user:" + txtOSUSerID.Text + " /pass:" + txtOSPassword.Text;
rdcProcess.Start();rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\mstsc.exe");
rdcProcess.StartInfo.Arguments = "/v " + txtSystemName.Text + " /admin"; // ip or name of computer to connect
rdcProcess.Start();// Delete credential
rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\cmdkey.exe");
rdcProcess.StartInfo.Arguments = "/delete:TERMSRV/" + txtSystemName.Text;
rdcProcess.Start();Credential을 사용하므로 접속시 User ID/Password를 물어보지 말아야 하는데 물어봅니다.
혹시나 해서 DOS Command mode에서도 아래와 같이 해 봤습니다.
cmdkey /generic:TERMSRV/ServerName /user:Administrator /pass:Password
mstsc /admin /v:Servername
이렇게 해도 계정을 물어오네요...
왜 안되는지 모르겠습니다. 아시는 분 계시면 지식을 좀 나눠주셨으면 합니다.
감사합니다.
Thanks
답변
-
안녕하세요, IH Lee 님.
Microsoft TechNet의 Forum 사이트를 방문해 주셔서 감사합니다.
문의 하신 "VS2010 C#에서 MSTSC연결시 Credentials 이용" 문의에 대한 답변을 드리겠습니다.cmdkey로는 Credential을 묻는 대화상자 보여집니다. cmdkey에 대한 자세한 내용은 다음을 참고하십시오.
https://technet.microsoft.com/en-us/library/cc754243.aspx
Cmdkey그래서 저는 rdp 파일을 이용하여 mstsc.exe를 Credential을 묻는 대화상자없이 실행하는 방법은 성공하였습니다.
1. 다음의 웹 문서에서 제공되는 password hash 툴 cryptRDP5.exe를 이용하여 hashed password를 생성하였습니다.
https://www.petri.com/forums/forum/microsoft-networking-services/terminal-services/25839-automatically-create-rdp-file-with-password
Automatically create RDP file with passwordC:\>cryptRDP5 password > pwdhash.txt
2. test.rdp 파일을 다음과 같이 만들었습니다.
full address:s:10.168.mmm.nnn
username:s:smpark
domain:s:NO-DOMAIN
password 51:b:pwdhash.txt 내용을 복사3. mstsc.exe를 test.rdp를 매개변수로 실행합니다
C:\>mstsc.exe test.rdp
제시해 드린 답변이 도움이 되었기를 바랍니다.
답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.
- 편집됨 SMPark82Moderator 2015년 9월 24일 목요일 오전 6:38
- 답변으로 표시됨 IH Lee 2015년 9월 24일 목요일 오전 8:11
모든 응답
-
안녕하세요, IH Lee 님.
Microsoft TechNet의 Forum 사이트를 방문해 주셔서 감사합니다.
문의 하신 "VS2010 C#에서 MSTSC연결시 Credentials 이용" 문의에 대한 답변을 드리겠습니다.다음 미국 stackoverflow 질문을 참조하십시오. C# 코딩은 아니고 cmdkey이용한 Remote Desktop Connection Automation 내용입니다.
http://stackoverflow.com/questions/16479652/automating-remote-desktop-connection
Automating remote desktop connection제시해 드린 답변이 도움이 되었기를 바랍니다.
답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다 -
답변 감사합니다.
알려주신 내용은 이미 봤던 것으로, 아래와 같은 경우도 모두 해봤지만 안되더군요.
cmdkey /generic:TERMSRV/ServerName /user:UserName /pass:Password
or
cmdkey /generic:ServerName /user:UserName /pass:Password
or
cmdkey /add:ServerName /user:UserName /pass:Password
위의 3가지 case모두 해당 Server로 화면 전환시 User name & Password를 물어봅니다.
다른 방안은 없을까요?
Thanks
-
제 PC들에서는 잘됩니다만. 아래와 같이 Command Prompt에서 실행했습니다.(Not Admin Command Prompt)
Local은 윈도우 8.1 이고 가장 최신 업데이트까지 모두 설치된 상태입니다.
Remote는 윈도우 7이고 업데이트를 설치안한 상태입니다만. Local 쪽 운영체제가 무엇인지요? 최신 업데이트가 모두 설치된 상태이신지요?C:\Users\smpark>cmdkey /generic:10.168.mmm.nnn /user:NO-DOMAIN\smpark /pass:123
CMDKEY: Credential added successfully.C:\Users\smpark>mstsc /v:10.168.mmm.nnn
-
안녕하세요, IH Lee 님.
Microsoft TechNet의 Forum 사이트를 방문해 주셔서 감사합니다.
문의 하신 "VS2010 C#에서 MSTSC연결시 Credentials 이용" 문의에 대한 답변을 드리겠습니다.cmdkey로는 Credential을 묻는 대화상자 보여집니다. cmdkey에 대한 자세한 내용은 다음을 참고하십시오.
https://technet.microsoft.com/en-us/library/cc754243.aspx
Cmdkey그래서 저는 rdp 파일을 이용하여 mstsc.exe를 Credential을 묻는 대화상자없이 실행하는 방법은 성공하였습니다.
1. 다음의 웹 문서에서 제공되는 password hash 툴 cryptRDP5.exe를 이용하여 hashed password를 생성하였습니다.
https://www.petri.com/forums/forum/microsoft-networking-services/terminal-services/25839-automatically-create-rdp-file-with-password
Automatically create RDP file with passwordC:\>cryptRDP5 password > pwdhash.txt
2. test.rdp 파일을 다음과 같이 만들었습니다.
full address:s:10.168.mmm.nnn
username:s:smpark
domain:s:NO-DOMAIN
password 51:b:pwdhash.txt 내용을 복사3. mstsc.exe를 test.rdp를 매개변수로 실행합니다
C:\>mstsc.exe test.rdp
제시해 드린 답변이 도움이 되었기를 바랍니다.
답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.
- 편집됨 SMPark82Moderator 2015년 9월 24일 목요일 오전 6:38
- 답변으로 표시됨 IH Lee 2015년 9월 24일 목요일 오전 8:11