VBScriptでネットワーク操作をマスターするための4選

VBScript

VBScript(Visual Basic Scripting Edition)は、Windows環境でのシステム管理やタスクの自動化に広く利用されるスクリプト言語です。

特に、ネットワーク操作を行うためのスクリプトを作成する際に非常に有用です。

本記事では、VBScriptを使用してネットワーク操作をマスターするための基本的な手法を紹介します。

実践編としてVBScriptの基本的な文法がわかる中級者の方にご紹介しています。

基本的な文法がわからない方は、初級編の記事も紹介しているのでそちらを参考にしてください。

Pingコマンドの実行

ネットワーク接続を確認するための基本的な方法の一つが、Pingコマンドの実行です。

VBScriptを使用して、指定されたホストにPingを送信し、その結果を取得する方法を見てみましょう。

Dim objShell, objExec
Dim strHost, strCommand, strOutput

strHost = "www.google.com"
strCommand = "ping -n 4 " & strHost

Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec(strCommand)

Do While Not objExec.StdOut.AtEndOfStream
    strOutput = objExec.StdOut.ReadLine()
    WScript.Echo strOutput
Loop

Set objExec = Nothing
Set objShell = Nothing

ネットワーク共有フォルダへの接続

ネットワーク共有フォルダに接続し、ファイル操作を行うこともVBScriptを使って可能です。

以下のスクリプトは、ネットワーク共有フォルダにマップし、ファイルをコピーする例です。

Dim objNetwork, strLocalDrive, strRemotePath

strLocalDrive = "Z:"
strRemotePath = "\\ServerName\ShareName"

Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strLocalDrive, strRemotePath

' ファイルコピーの例
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\source\file.txt", strLocalDrive & "\file.txt"

' マップドライブの解除
objNetwork.RemoveNetworkDrive strLocalDrive

Set objFSO = Nothing
Set objNetwork = Nothing

WMIを使ったネットワーク情報の取得

Windows Management Instrumentation (WMI) を使用して、ネットワークに関する詳細な情報を取得することができます。

以下のスクリプトは、ローカルマシンのネットワークアダプタ情報を取得する例です。

Dim objWMIService, colItems, objItem

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")

For Each objItem in colItems
    WScript.Echo "Description: " & objItem.Description
    WScript.Echo "MAC Address: " & objItem.MACAddress
    WScript.Echo "IP Address: " & Join(objItem.IPAddress, ", ")
Next

Set colItems = Nothing
Set objWMIService = Nothing

FTP操作

VBScriptを使ってFTPサーバーに接続し、ファイルをアップロードまたはダウンロードすることができます。

以下のスクリプトは、FTPを使ってファイルをアップロードする例です。

Dim objShell, strFtpCommandFile, strFtpCommands

strFtpCommandFile = "ftpcommands.txt"
strFtpCommands = "open ftp.example.com" & vbCrLf & _
                 "username" & vbCrLf & _
                 "password" & vbCrLf & _
                 "put C:\localfile.txt /remotepath/remotefile.txt" & vbCrLf & _
                 "bye"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(strFtpCommandFile, True)
objFile.WriteLine strFtpCommands
objFile.Close

Set objShell = CreateObject("WScript.Shell")
objShell.Run "ftp -s:" & strFtpCommandFile, 1, True

objFSO.DeleteFile strFtpCommandFile

Set objFile = Nothing
Set objFSO = Nothing
Set objShell = Nothing

まとめ

VBScriptを使用してネットワーク操作を行う方法をいくつか紹介しました。

これらのスクリプトは、ネットワークの接続確認、共有フォルダへのアクセス、ネットワーク情報の取得、FTP操作など、さまざまなネットワークタスクを自動化するのに役立ちます。

VBScriptのネットワーク操作をマスターすることで、システム管理や運用の効率を大幅に向上させることができます。