我有一个Windows服务监视本地RDP服务器,并确保某些本地用户的会话login和活动。
它通过等待WTSWaitSystemEvent并在发生事件时检查RDP会话列表,然后生成一个.rdp文件,然后由mstsc( mstsc [tmprdpfile].rdp )启动。
该服务作为SYSTEM运行。
这在Server 2003 R2上完美工作,似乎在2008 R2上几乎工作(:)。 .rdp文件是正确生成的 – 当手动运行时,他们login时没有密码提示 – 并且mstsc正确启动,但会话永远不会连接。 这导致正在启动的mstsc进程数量不断增加。
是否有可能:
mstsc实例,看看它在做什么? 我怀疑密码提示或服务器身份validation警告(虽然authentication level:i:0已设置)。 (如果有人有更好的方法来满足我的要求(多个用户会话必须保持login并自动激活 )的build议,我也打开了)。
我最终select的解决scheme是以本地用户的身份运行服务。
这意味着我可以login到该用户的桌面,并手动运行mstsc ,在那里肯定会出现“你确定”的提示。
一旦我勾选了“不要再问我连接到这台计算机”框,在这个用户帐户下运行我的服务工作正常
也可以在SYSTEM的HKCU\Software\Microsoft\Terminal Server\Client\LocalDevices\添加正确的条目,以避免创build一个新帐户,但对于我来说,非特权帐户似乎总体上更好。