現在、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 秒のタイムアウトがあっても実際には機能していませんでした。
「実際には機能しない」とは、一部のコンピューターでは機能し、一部のコンピューターでは機能しないことを意味します。そして、これはアカウントベース (コンピューター上) か、一般的にコンピューター上で動作します。何故ですか?(わからない)
現在、xmappでローカルに実行されているjsを使用して、IE11.0.48でテストしています。
誰かが問題を知っていますか?または私は何か間違ったことをしていますか?(または、これに対するより良い解決策があるでしょうか?)
//EDIT1: ActiveX は内部的に許可されており、mstsc は毎回呼び出されますが、自動ログオンは機能しません (少なくとも毎回ではありません)。