Скрипт добавляет для всех клиентов группы некоторую сумму на счет. Скрипт запускается из командной строки:
cscript.exe addcash.vbs AdmID AdmPass GroupID Cash /sn:ServerName
Здесь
AdmID - Имя администратора Traffic Inspector с типом доступа "Консоль и веб-сервер".
AdmPass - Пароль администратора AdmID.
GroupID - GUID или отображаемое имя группы; также может принимать значения: пустая строка ("") - будут обрабатываться клиенты, не находящиеся ни в одной из групп: "AllTIClients" - будут обрабатываться все клиенты.
Cash - Сумма, добавляемая на счет клиента.
ServerName - Имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.
Set Args = WScript.Arguments.Unnamed
If Args.Count <> 4 Then
WScript.Echo "??? usage: cscript.exe addcash.vbs AdmID AdmPass GroupID Cash /sn:ServerName"
WScript.Quit
End If
AdmID = Args(0)
AdmPass = Args(1)
Group = Args(2)
Cash = Args(3)
If WScript.Arguments.Named.Exists("sn") Then
ServName = WScript.Arguments.Named.Item("sn")
Set Srv = CreateObject("TrafInsp.TrafInspAdmin", ServName)
Else
Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If
Set Perm = Srv.QueryPermissions()
LogOn = Perm.DoSharedLogon(AdmID, AdmPass, "Script")
If Group = "AllTIClients" Then
GroupID = null
ElseIf Group = "" Then
GroupID = ""
Else
itUserGroup = 2
GroupID = Srv.ItemGUIDByName(itUserGroup, Group)
End If
Set Dom = WScript.CreateObject("Msxml2.DOMDocument.4.0")
itUser = 3
conf_AttrLevelState = 7
'Получаем список клиентов группы
Dom.loadXML Srv.GetList(itUser, GroupID, null, conf_AttrLevelState)
Set DocEl = Dom.DocumentElement
Set Nodes = DocEl.selectNodes("UserItem")
If Nodes.Length > 0 Then
For Each Node in Nodes
Set Dom1 = WScript.CreateObject("Msxml2.DOMDocument.4.0")
If Cash <> "0" Then
Dom1.loadXML "<UserList />"
Set Root1 = Dom1.DocumentElement
With Root1.AppendChild(Dom1.CreateElement("UserItem"))
.setAttribute "GUID", Node.getAttribute("GUID")
.setAttribute "_UpdateState_", -1
.setAttribute "AddCash", FromDigit(Cash)
.setAttribute "AdminNote", "Добавление оплаты (скрипт)"
End With
'Применяем изменения - добавляем оплату на счет клиента
Srv.UpdateList itUser, Dom1.xml
End If
If IsNull(Node.getAttribute("Balance")) Then
NewCash = ToDigit(Cash)
Else
NewCash = ToDigit(Node.getAttribute("Balance")) + ToDigit(Cash)
End If
WScript.Echo "Клиент " & Node.getAttribute("DisplayName") & ", на счету " & NewCash
Next
Else
WScript.Echo "Нет данных"
End If
Function FromDigit(StrTD)
If StrTD = "" Then
FromDigit = "0"
Else
FromDigit = Replace(CStr(StrTD), ",", ".")
End If
End Function
Function ToDigit(StrTD)
If StrTD = "" Then
ToDigit = 0
Else
If Not IsNumeric(StrTD) Then
ToDigit = Replace(StrTD, ".", Mid(1 / 2, 2, 1))
ToDigit = ToDigit + 0
Else
ToDigit = StrTD
End If
End If
End Function
Текущая страница справки: http://help.smart-soft.ru/doc20/index.html?sdk_apidemoaddcash.htm