目前我正在尝试使用Internet Explorer自动登录rdp。 基本上我要做的就是打开一个ActiveXObject,然后调用cmdkey来临时存储凭证
var ws = new ActiveXObject("WScript.Shell");
setTimeout(function(){
ws.Exec("cmdkey /delete:"+servername+" ");
}, 100);
setTimeout(function(){
ws.Exec("cmdkey /generic:"+servername+" /user:"+username+" /pass:"+password+"");
}, 500);
setTimeout(function(){
ws.Exec("mstsc /v:"+servername+"");
}, 800);
setTimeout(function(){
new ActiveXObject("WScript.Shell").Exec("cmdkey /delete:"+servername+" ");
}, 20000);
首先我认为问题是在mstsc建立连接之前运行的cmdkey删除,但即使有20秒超时,它仍然无法正常工作。
"没有真正的工作"我的意思是它适用于某些计算机,而不适用于某些计算机。这可以是基于帐户的(在计算机上),也可以只是在计算机上工作。这是为什么? (我不能告诉)
我目前正在IE11.0.48上测试它,其中js在xmapp上本地运行。
有人知道这个问题吗?或者我做错了什么? (或者甚至会有更好的解决方案吗?)
// EDIT1:内部允许ActiveX,每次都会调用mstsc,但自动登录不起作用(至少不是每次都有)