0

目前我正在尝试使用 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 delete,但即使有 20 秒的超时,它仍然没有真正工作。

“不是真的工作”是指它在某些计算机上有效,而在某些计算机上无效。这要么是基于帐户的(在计算机上),要么只是通常在计算机上工作。这是为什么?(我说不出来)

我目前正在 IE11.0.48 上测试它,js 在 xmapp 上本地运行。

有人知道问题吗?还是我做错了什么?(或者甚至会有更好的解决方案吗?)

//EDIT1:ActiveX 在内部是允许的,并且每次都会调用 mstsc,但是自动登录是不起作用的(至少不是每次都这样)

4

0 回答 0