2008R2 mstsc RDP通过系统服务login

我有一个Windows服务监视本地RDP服务器,并确保某些本地用户的会话login和活动。

它通过等待WTSWaitSystemEvent并在发生事件时检查RDP会话列表,然后生成一个.rdp文件,然后由mstsc( mstsc [tmprdpfile].rdp )启动。

该服务作为SYSTEM运行。

这在Server 2003 R2上完美工作,似乎在2008 R2上几乎工作(:)。 .rdp文件是正确生成的 – 当手动运行时,他们login时没有密码提示 – 并且mstsc正确启动,但会话永远不会连接。 这导致正在启动的mstsc进程数量不断增加。

是否有可能:

  1. 检查正在运行的mstsc实例,看看它在做什么? 我怀疑密码提示或服务器身份validation警告(虽然authentication level:i:0已设置)。
  2. 以某种方式得到一个在系统服务下运行的GUI应用程序的屏幕显示(我知道,这是一个奇怪的情况在首位)?

(如果有人有更好的方法来满足我的要求(多个用户会话必须保持login自动激活 )的build议,我也打开了)。

我最终select的解决scheme是以本地用户的身份运行服务。

这意味着我可以login到该用户的桌面,并手动运行mstsc ,在那里肯定会出现“你确定”的提示。

一旦我勾选了“不要再问我连接到这台计算机”框,在这个用户帐户下运行我的服务工作正常

也可以在SYSTEM的HKCU\Software\Microsoft\Terminal Server\Client\LocalDevices\添加正确的条目,以避免创build一个新帐户,但对于我来说,非特权帐户似乎总体上更好。