ONLY Mobile

[VBS] 起動時にネットワークドライブを設定する

ローカルにVBSを置いてスタートアップで処理するだけなら簡単。だけど、やりたいことは、社内の全PCを一元管理して、ネットワークドライブの設定も手元でできるようにしたい。だって、毎回呼ばれて設定変更に回るより、手元で設定して内線で「PC再起動して」で済めば簡単だから。

要は、自分が楽したい訳です(笑)

という事で、先日ネットワークドライブの設定を一度だけ走らせるVBSをメモメモしてみましたが、今回はPC起動時に毎回ネットワークドライブを設定するパターンをメモメモ。

まず最初に、一度だけ走らせるVBS。ネットワークドライブを全て切断するだけの処理。再接続する設定になっているネットワークドライブの接続設定を削除したいので。

Option Explicit
On Error Resume Next

' 変数宣言
Dim objNetwork
Dim colDrives
Dim i

' 初期設定
Set objNetwork = CreateObject( "WScript.Network" )
Set colDrives = objNetwork.EnumNetworkDrives

'-------------------------------------------------------------------------------
' 処理開始
'-------------------------------------------------------------------------------

' 共有ドライブの数だけ処理を行う
For i = 0 to colDrives.Count - 1 Step 2
    ' ネットワークドライブを切断する
    objNetwork.RemoveNetworkDrive colDrives.Item(i), true, true
Next

Set colDrives = Nothing
Set objNetwork = Nothing

WScript.Quit(0)

続いて、PC起動時に毎回走らせるVBS。ここでネットワークドライブの設定をします。

Option Explicit

' 変数宣言
Dim objNetwork, objShellApps

' 初期設定
Set objNetwork = CreateObject( "WScript.Network" )
Set objShellApps = CreateObject( "Shell.Application" )

'-------------------------------------------------------------------------------
' 処理開始
'-------------------------------------------------------------------------------

' ネットワークドライブを設定する
objNetWork.MapNetworkDrive "X:", "\\192.168.1.250\sales", False
With objShellApps.NameSpace( "X:" ) .Items().Item().Name = "営業文書"
End With

objNetWork.MapNetworkDrive "Y:", "\\192.168.1.250\internal", False
With objShellApps.NameSpace( "Y:" ) .Items().Item().Name = "社内文書"
End With

objNetWork.MapNetworkDrive "Z:", "\\192.168.1.250\share", False
With objShellApps.NameSpace( "Z:" ) .Items().Item().Name = "社内共有"
End With

Set objShellApps = Nothing
Set objNetwork = Nothing

WScript.Quit(0)

PC起動時に毎回走らせるVBSを PC名.vbs という名前でネットワーク上に保存しておけば、バッチファイルから %COMPUTERNAME%.vbs を呼び出すだけでいいので、誰でも簡単に管理できると思います。

他にもっといい方法があると思うけど、いずれ引き継ぎをする時期が来たときに、これなら簡単に説明できるかな、と(笑)

スポンサーリンク

この記事をシェア

アカウントをフォロー