tags:

views:

271

answers:

2

I'm trying to use the mstscax.dll (Microsoft Remote Desktop Control) to login to a Vista machine that requires Network Level Authentication.

I've played around with all the methods in IMsRdpClientNonScriptable4, IMsRdpClientAdvancedSettings4 and IMsRdpClient6. There are a slew of functions that appear that the might enable this.

  • EnableCredSspSupport
  • PromptForCredentials
  • PromptForCredsOnClient
  • NegotiateSecurityLayer

Unfortunately the MSDN documentation is pratacily useless and I can find no examples for any of these on the web. I know that it's possible because a product called "Royal TS" can connect this way.

One hint is that both "Royal TS" and Vista's Remote Desktop create a authoriztion prompt that looks like the one from CredUIPromptForWindowsCredentials, this makes me belive that i might be able to use a function like that to get the credential and then possibly use PublisherCertificateChain to tell RDP about it.

Any ideas would be helpful.

A: 

I've never tried to do what you're doing but I suggest you take a look at the following article:

Multi Remote Desktop Client .NET

The projects uses mstscax.dll.

Jay Riggs
+2  A: 

So if other people find this:

All that needs to be done is EnableCredSspSupport=true, the problem I had was that I was loading the mstscax.dll manually and the version I was using supported the IMsRdpClientNonScriptable4 interface but simply didn't work. If you just load the control normally just setting EnableCredSspSupport=true works fine.

Jon Clegg
Thanks! I've been looking at this for about an hour and this saved me probabbly another couple of hours.
Phil Price