IISのMAPを設定するVBスクリプト更新

MAPの指定を、上書きするのではなくて、追加するようにと修正依頼が来た。

.aspx,C:\WINDOWS\System32\inetsrv\Test.dll,5,GET, HEAD, POST
.aspx,C:\WINDOWS\System32\inetsrv\Test.dll,5,GET, HEAD, POST
と2行同じもので実行すると、Windows Server 2003で希にこのまま2行追加されてしまった。
奇妙な現象だ。そこで念のため、2行にならないように

IIsWebAppObj.GetInfo
Dim iCnt, iMapsCnt
MapObject = IIsWebAppObj.ScriptMaps
iCnt = UBound(MapObject)
iMapsCnt = UBound(Maps)

Dim J
Dim bAdd
Dim MapStr, MapEx1, MapEx2
Dim MapStrArray

For I = 0 To iCnt
bAdd = False
MapStr = MapObject(I)
MapStrArray = Split(MapStr,",",-1,1)
MapEx1 = MapStrArray(0) '拡張子を取り出す

For J = 0 To iMapsCnt
MapStr = Maps(J)
MapStrArray = Split(MapStr,",",-1,1)
MapEx2 = MapStrArray(0) '拡張子を取り出す
If MapEx1 = MapEx2 Then
bAdd = True
J = iMapsCnt
End If
Next

If bAdd = False Then '一致したのが存在しないなら追加
ReDim Preserve Maps(iMapsCnt +1)
Maps(iMapsCnt +1) = MapObject(I)
iMapsCnt = UBound(Maps)
End If
Next

IIsWebAppObj.PutEx 2, "ScriptMaps", Maps

としてみた。
今回のプロジェクト(と言えるかどうかは分からないが)では、IISの設定やVBスクリプトを勉強できた。まもなく、終焉となる。別な仕事が既に待っているんだけど。