- ·上一篇文章:除性删除的VBS脚本(删除指定以外的目录、文件)
- ·下一篇文章:根据磁盘空间删除指定文件夹的VBS脚本
- ·百度中搜索更多的关于“starwind iscsi VBS连接脚本,根据IP或机器名连接不同的服务器IP或端口”相关内容
- ·谷歌中搜索更多的关于“starwind iscsi VBS连接脚本,根据IP或机器名连接不同的服务器IP或端口”相关内容
- ******申明******
- 本站文章内容有部分为收录网络中其他网友内容,DOS资源站不保证所有的代码都适合你使用。
- 由于编辑匆忙,有可能造成某些脚本文件出现丢失代码或代码无法运行的情况,请网友根据情况自行修改。
- 如果能将出错部分反馈给我,那就更好了。
starwind iscsi VBS连接脚本,根据IP或机器名连接不同的服务器IP或端口
'使用环境:微软iscsi客户端,
'作用:根据本机的IP 或机器名来连接不同的服务器IP或端口
'注意:如果设置“根据机器名”的话,脚本将依据机器名的后三位来取得机器编号,
'当然,你也可以稍作修改来适应你的情况。
''''''''''''说明完''''''''''''
Option Explicit
Dim strServerIPGroup,intGroupNum,cNumSet,strTargetPre
'''''''''''''设置开始'''''''''''''
strServerIPGroup = "192.168.11.42:3260|192.168.11.41:3260|192.168.11.41:3260|192.168.11.41:3270" '服务器IP端口集合
intGroupNum = 35 '每IP或端口所带的客户机数量
cNumSet = "Name" '可以填"IP"或"Name",设置根据IP还是机器名得到机号
strTargetPre = "FT" 'Target前缀
'''''''''''''设置结束'''''''''''''
'On Error Resume Next
Dim oshell,WshNetwork,cName,cNum
Set oshell= CreateObject("WScript.Shell")
Set WshNetwork = WScript.CreateObject("WScript.Network")
cName = WshNetwork.ComputerName
On Error Resume Next
If cNumSet = "Name" Then cNum = CInt(Right(cName,3))
If Err Then
err.Clear
Msgbox "请确认机器名后3位是不是数字",16,"错误"
WScript.quit
End If
On Error GoTo 0
If cNumSet = "IP" Then cNum = Split(GetIP("."),".",-1)(3)
Dim arrIPItem,intGroup,strServerIP,strPort
arrIPItem = Split(strServerIPGroup,"|",-1)
intGroup = Fix((cNum-1)/intGroupNum)
On Error Resume Next
strServerIP = Split(arrIPItem(intGroup),":",-1)(0)
If Err Then
err.Clear
Msgbox "请检查:"&vbCrLf&"1“strServerIPGroup”IP组数目不够,或设置错误。"&vbCrLf&"2“intGroupNum”设置过小。",16,"错误"
WScript.quit
End If
On Error GoTo 0
strPort = Split(arrIPItem(intGroup),":",-1)(1)
oshell.Run "iscsicli AddTargetPortal "&strServerIP&" "&strPort,0,true
oshell.Run "iscsicli LoginTarget "&strTargetPre & Right("000"&cNum,3)&" T * * * * * * * * * * * * * * * 0",0,true
Set WshNetwork=NoThing
Set oshell=NoThing
WScript.quit
Function GetIP(ComputerName)
Dim objWMIService,colItems,objItem,objAddress
Set objWMIService = GetObject("winmgmts:\\" & ComputerName & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each objItem in colItems
For Each objAddress in objItem.IPAddress
If objAddress <> "" then
GetIP = objAddress
Exit For
End If
Next
Next
End Function

