IE 限定・JScript で Windows ユーザ名を取得する
ActiveXObject を使って、Windows にログインしているユーザ名を取得する。基本的に環境変数を参照する感じ。以下の3つのいずれでも同じユーザ名が取得できる。
var shell = new ActiveXObject("WScript.Shell").ExpandEnvironmentStrings("%USERNAME%");
var environment = new ActiveXObject("WScript.Shell").Environment("PROCESS").item("USERNAME");
var network = new ActiveXObject("WScript.Network").UserName;
ActiveX コントロールの警告とか
ローカルの HTML ファイルに埋め込んで IE11 で開くと、
このページの ActiveX コントロールは、安全でない可能性があり ページのほかの部分に影響する可能性があります。ほかの部分に影響しても問題ありませんか?"
というメッセージが出る。「OK」を押さないと ActiveXObject が生成できない。
「ツール」-「インターネットオプション」の「セキュリティ」-「レベルのカスタマイズ」で「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」を「有効にする」にすることで回避できます
…という参考サイトの記載のとおりで、自分も Windows7 の IE11 まではこれで解消してたんだけど、Windows10 にしたせいなのか、解消せず。
上の設定を「有効にする」にすると、「現在のセキュリティ設定では、コンピューターが危険にさらされます。
」という警告が出っ放しになって、うざったい。直し方分かんないし無視。