Скрипт выводит различные параметры текущего состояния и тарификации для клиента. Скрипт запускается из командной строки:
cscript.exe viewstate.vbs AdmID AdmPass UserID /sn:ServerName
Здесь
AdmID - Имя администратора Traffic Inspector с типом доступа "Консоль и веб-сервер".
AdmPass - Пароль администратора AdmID.
UserID - GUID или отображаемое имя клиента.
ServerName - Имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.
Set Args = WScript.Arguments.Unnamed
If Args.Count <> 3 Then
WScript.Echo "??? usage: cscript.exe viewstate.vbs AdmID AdmPass UserID /sn:ServerName"
WScript.Quit
End If
AdmID = Args(0)
AdmPass = Args(1)
UserID = Args(2)
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")
itUser = 3
UserGUID = Srv.ItemGUIDByName(itUser, UserID)
If UserGUID = "" Then
WScript.Echo "Клиент " & UserID & " не найден"
Else
Set Dom = WScript.CreateObject("Msxml2.DOMDocument.4.0")
conf_AttrLevelDetail = 5
'Получаем данные по клиенту
Dom.loadXML Srv.GetList(itUser, UserGUID, null, conf_AttrLevelDetail)
Set DocEl = Dom.DocumentElement
Set Node = DocEl.SelectSingleNode("UserItem")
If Not Node Is Nothing Then
WScript.Echo "Имя клиента " & Chr(9) & Node.getAttribute("DisplayName")
WScript.Echo "GUID " & Chr(9) & Node.getAttribute("GUID")
WScript.Echo "Группа " & Chr(9) & Node.getAttribute("GroupDisplayName")
WScript.Echo "Сессия " & Chr(9) & Srv.ISOToDateTime(Node.getAttribute("StartSession"))
DisabledMode = "Разрешен"
If Node.getAttribute("DisabledMode") = "0" Then
DisabledMode = "Запрещен"
End If
WScript.Echo "Доступ " & Chr(9) & DisabledMode
UnlimMode = "Безлимитный"
If Node.getAttribute("UnlimMode") = "0" Then
UnlimMode = "Автоотключение"
End If
WScript.Echo "Тип доступа " & Chr(9) & UnlimMode
WScript.Echo "Оплачено " & Chr(9) & Node.getAttribute("Cash")
'Получаем список тарифов клиента
Set StTarNodes = DocEl.selectNodes("UserItem/StatTariff")
If StTarNodes.Length > 0 Then
Set TarDom = WScript.CreateObject("Msxml2.DOMDocument.4.0")
WScript.Echo "-----Тарифы-----"
For Each StTarNode in StTarNodes
TarGUID = StTarNode.getAttribute("GUID")
itTariffDesc = 28
conf_AttrLevelNormal = 0
'Получаем данные по тарифу клиента
TarDom.LoadXML Srv.GetList(itTariffDesc, TarGUID, null, conf_AttrLevelNormal)
Set TarDocEl = TarDom.DocumentElement
objPuth = "TariffDesc[@GUID = '" & TarGUID & "']"
Set TarNode = TarDocEl.SelectSingleNode(objPuth)
TrafExclude = ""
If Not TarNode Is Nothing Then
TrafExclude = " Предоплаченный трафик: " & TarNode.getAttribute("TrafExclude") & " Мб"
End If
WScript.Echo StTarNode.getAttribute("DisplayName") & " начислено: " & StTarNode.getAttribute("MoneyTraffic") & " " & Node.getAttribute("Currency") & TrafExclude
Next
WScript.Echo "----------------"
End If
WScript.Echo "Сумма за трафик " & Chr(9) & Node.getAttribute("MoneyTraffic") & " " & Node.getAttribute("Currency")
WScript.Echo "Сумма за время " & Chr(9) & Node.getAttribute("MoneyTime") & " " & Node.getAttribute("Currency")
WScript.Echo "Баланс " & Chr(9) & Node.getAttribute("Balance") & " " & Node.getAttribute("Currency")
Else
WScript.Echo "Нет данных"
End If
End If
Текущая страница справки: http://help.smart-soft.ru/doc20/index.html?sdk_apidemoviewstate.htm