管理者権限が必要なので、VBScript を再度管理者権限で呼び出しています。
その後メトリックと MTU は、Windows の netsh interface ipv4 set interface
コマンドで変更しています。なお、ここでは VPN - VPN Client
という名称のネットワークを対象にしています。
以下のコードを Shift-JIS か UTF-16 BOM エンコーディングで保存して実行します。(UTF8 は VBScript が対応していないので NG です)
vbs
Option Explicit
On Error Resume Next
' 引数がない場合、Script自身を再度、管理者権限で実行する
If Wscript.Arguments.Count = 0 Then
' 管理者として実行
AppExecute "wscript.exe", """" & WScript.ScriptFullName & """" & " runas", "runas", True
WScript.Quit
End If
' メトリック値の設定
AppExecute "cmd", "/c netsh interface ipv4 set interface ""VPN - VPN Client"" met=1000", "runas", True
' MTU調整
AppExecute "cmd", "/c netsh interface ipv4 set interface ""VPN - VPN Client"" mtu=1450", "runas", True
'==============================================================
' "Shell.Application"のShellExecuteメソッド
' appOpe
' edit :エディタを起動し、編集用にドキュメントを開きます。
' find :指定されたディレクトリから検索を開始します。
' open :アプリケーションを起動します。このファイルが実行可能ファイルでない場合、関連するアプリケーションが起動されます。
' print :ドキュメントファイルを印刷します。
' properties :オブジェクトのプロパティを表示します。
' runas :管理者としてアプリケーションを起動します。
'==============================================================
Sub AppExecute(appPath, appArgs, appOpe, appShow)
Dim shell
Set shell = Wscript.CreateObject("Shell.Application")
' 対象のEXEを起動します。
shell.ShellExecute """" & appPath & """", appArgs, "", appOpe, appShow
Set shell = Nothing
End Sub
以上です~