LotusNotes上からIE10自動インストールをブロックする

Windiws7 用の IE10 が出ていて Internet Explorer 10 自動配布の無効化ツールキット も出ています。中身はバッチファイルで、REG コマンドでレジストリにパラメータを足してるだけです。

これはコマンドプロンプトを管理者として実行してから、その中でバッチファイルを実行するというちょっぴり面倒なコトをやる必要があります。

REG コマンドを一発管理者権限で動かすだけなのに…

LotusNotes ユーザが多いので、Notes のボタンでこの処理を配ってみた場合どうなりますかというのを書いてみます。

Sub Click(Source As Button)
        '━[ 確認 ]━━━━━━━━━━━━━━━━━━━━━━━
        Dim objWMI, osInfo, flag
        Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
        Set osInfo = objWMI.ExecQuery("SELECT Version FROM Win32_OperatingSystem")
        flag = False
        Forall os In osInfo
                If Left(os.Version, 3) >= 6.1 Then
                        flag = True
                End If
        End Forall
        '━[ 実行 ]━━━━━━━━━━━━━━━━━━━━━━━
        Dim objShellApp, objWshShell
        Set objWshShell = CreateObject("WScript.Shell")
        Set objShellApp = CreateObject("Shell.Application")
        If flag Then ' Windows 7 以降、管理者権限実行
                objShellApp.ShellExecute "reg", "ADD ""HKLM\SOFTWARE\Microsoft\Internet Explorer\Setup\10.0"" /v DoNotAllowIE10 /t REG_DWORD /d 1 /f" ,"","runas",0
        Else ' Vista 以前、なにもしない
                WScript.Echo "対象外なのでなにもしません"
                Exit Sub
        End If
End Sub

ボタンの中にこのようなLotusScriptを書きます。ほとんどVBScriptですね。前半はOSのバージョンチェック。必要ないですかね。後半、"runas" 付きで ShellExecute すると管理者として実行して良いかを問い合わせるプロンプトが出ます。これ許可すると管理者権限で REG コマンドが動いてレジストリに必要なパラメータが追加されるという流れです。