ネットワークドライブを自動で強制切断する

16 6月, 2016 (15:06) | サーバー, パソコン | By: ohishi

ランサムウェアがニュースになっているが、幸いうちの事務所では被害は出てないです。
ただ、万一感染してしまった場合、ファイルサーバーのファイルまで影響がでるのは怖いので、ネットワークドライブを自動で切断するスクリプトを作成してみました。

ウイルスがファイルサーバーにの名前を知る方法は普通は無いはずですが、
ネットワークドライブ経由なら、サーバー名を知らなくてもアクセスできてしまうので、利用者には申し訳ないですが、強制的にネットワークドライブを切断することにした次第です。

下記のスクリプトは、どうしてもネットワークドライブを使用する必要のあるPCは除外して、ネッワークドライブを強制的に切断してくれます。
これを、PC立ち上げ時に自動で実行すれば、前日、ネットワークドライブを接続しても、翌日には切断されるようになります。

'********************************************************************
'* ネットワークドライブ切断
'********************************************************************
Option Explicit
On Error Resume Next

Dim objFSO      ' FileSystemObject
Dim wsh, computername, username

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set wsh = WScript.CreateObject("WScript.Shell")
computername = LCase(wsh.ExpandEnvironmentStrings("%COMPUTERNAME%"))
username = LCase(wsh.ExpandEnvironmentStrings("%username%"))

Dim objWshNetwork
Set objWshNetwork = WScript.CreateObject("WScript.Network")

Dim intChr,  strDrive

if  mid(computername,1,7) = "landisk" _
 or mid(computername,1,6) = "winsvr" then

else

  For intChr = Asc("A") To Asc("Z")
    strDrive = Chr(intChr) & ":"
    If objFSO.DriveExists(strDrive) Then
        If objFSO.GetDrive(strDrive).DriveType = 3 Then
            objWshNetwork.RemoveNetworkDrive strDrive,true,true
        End If
    End If
  Next
end if

Set objWshNetwork = Nothing
Set objFSO = Nothing
Set wsh = Nothing

Write a comment