Рестарт сессии с начислением оплаты по умолчанию

Previous pageReturn to chapter overviewNext page

 

Скрипт производит рестарт сессии. Каждому клиенту группы в новой сессии зачисляется значение, указанное в поле Оплата по умолчанию (вкладка Тарификация). После выполнение скрипта состояние клиента остается прежним (каким оно было до выполнения скрипта). Для автоматизации скрипт запускается в конце каждого месяца.

 

 Скрипт запускается из командной строки в каталоге scripts.

 

 cscript.exe rstsess4.vbs APIPassword GroupID /sn:ServerName

         

 APIPassword - пароль доступа.

 GroupID - GUID или имя группы в пределах которой производится выполнение скрипта.

 ServerName - имя сервера - необязательный параметр - задается при запуске скрипта с удаленного компьютера.

 


Set Args = WScript.Arguments.Unnamed

If Args.Count <> 2 Then

 WScript.Echo "??? usage: cscript.exe rstsess4.vbs APIPassword GroupID /sn:ServerName"        

 WScript.Quit        

End If

 

APIPass = Args(0)

Obj = Args(1)

 

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

Srv.APILogon(APIPass)

 

UserList = Srv.ApiGetBillProp(3, Obj)

' Получили список клиентов группы

 

' Проверяем, что это таблица - двухмерный массив

If Not IsArray(UserList) Or Not IsArray(UserList(0)) Then

 WScript.Echo "Нет данных"        

 WScript.Quit        

End If

 

For I = 0 To UBound(UserList, 1)

 User = UserList(I)

 ' Получили строку - описание пользователя

 UserID = User(1)

 ' Считываем значение оплаты по умолчанию

 Cash0 = Srv.APIGetAttr(3, UserID, "User_Cash0")

 UserState = Srv.APIGetUserState(UserID)

 ' Считываем текущее состояние сессии

 OldState = UserState(4)

 ' Переводим пользователя в СТОП

 Srv.APISetUserState UserID, 0, 0, "Script", "Очищаем сессию"

 ' Переводим сессию пользователя в состояние, которое было ранее. Если надо всех запустить, то поправьте на '2'

 Srv.APISetUserState UserID, Cash0, OldState, "Script", "Запускаем сессию"

 WScript.Echo "Клиент " & User(0) & " на счету " & Cash0

Next

 

 

 


Текущая страница справки: help.smart-soft.ru/index.html?apidemorst4.htm

Сайт разработчиков Traffic Inspector