Sometimes it's arrives that you need to have to change a big list of login name or delete lot of login manually, so I think taht the scripts below will be very interesting for the majority of the people, so in first we'll see how to have a script in order to modify a list of login name and if the login doesn't exist then it will be created:
1) CMS Script to change agent and/or add the agent if he doesn't exist:
The value below must be changed in order to work with your system:
SERVERNAME= IP ADDRESS OF YOUR CMS SERVER
Dictionary.ACD = This is the value of your ACD on CMS
OpenTextFile("C:\agents.txt", 1) = This is the path where the list of your agent will be stored, so you need to create a file agents.txt on your hard drive C:\
Copy the content below in a file with the extension below .acsup so for example the name of my file will be "Script to change or add an agent.acsup" so you just need to doble click on this file and CMS will be started then enter your password and the script will be started automatically:
'LANGUAGE=ENG
'SERVERNAME=xx.xx.xx.xx
Public Sub Main()
'Place a ";" separated file name agents.txt on the root of C drive
'This file needs to have the agent format: Cyril;1234 on every line
'This line will be read and split on the ";" and put in an array to add into CMS
l=0 'loop value for read loop
result=0 'Answer on adding
c=0 'counter for giving the messagebox
dim regel, a 'variabel for readline and for splitting on ";"
dim sString 'variable for information on adding data
dim NameArray(999) 'define array for agent name. All data is read into this from agents.txt
dim NumberArray(999) 'define array for agent number
dim fs, f 'define filesystem stuff for read
Dim agAdded
Dim agModif
Dim ress
cvsSrv.Dictionary.ACD = 3
'Reads file one line at a time into name and number array
'Place the textfile on the root of C drive
Set fs=CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile("C:\agents.txt", 1)
Dim ss
Do While f.AtEndOfStream <> True
'result = msgbox (regel, 1, "regel")
regel = f.ReadLine
a = split(regel,";")
NameArray(l) = a(0)
NumberArray(l) = a(1)
l=l+1
'regel = f.ReadLine
Loop 'keep reading in data until EOF hit.
'a = split(regel,";")
'NameArray(l) = a(0)
'NumberArray(l) = a(1)
f.Close 'close agents.txt file
Set f=Nothing 'clear f and fs
Set fs=Nothing
'Read all agents into string and display it in a messagebox
for c = 0 to l-1
sString = sString & NumberArray(c) & " - " & nameArray (c) & (Chr(13) & Chr(10))
next
result = msgbox (sString, 1, "Sure to Modify these Agents?")
if result = 1 then
sString = "" 'make string empty for next use
'Modify entries
b = cvsSrv.Dictionary.CreateOperation("Login Identifications",Op)
'b2 = cvsSrv.Dictionary.CreateOperation("Login Identifications",Op)
Op.Window.Top = 4490
Op.Window.Left = 4680
Op.Window.Width = 6000
Op.Window.Height = 2540
agAdded = 0
agModif = 0
for c = 0 to l-1
If b Then
Op.SetProperty "login_id", NumberArray(c)
Op.SetProperty "ag_name", NameArray(c)
On Error Resume Next
if b = Op.DoAction("Modify") then
agModif = agModif + 1
else
sString = sString & " " & NumberArray(c) & (Chr(13) & Chr(10))
b2 = Op.DoAction("Add")
if Not(b2) Then
result = msgbox (NameArray(c), 64, "failed adding user")
else
agAdded = agAdded + 1
End If
end if
End If
next
ress = "Agents Added " & agAdded & " Agents Modified " & agModif
result = msgbox (ress, 64, "Result")
' if sString <> "toto" then
'msgbox sString, 64, "Following Agents Already Exist"
'else
'msgbox "All Agents Modify", 64, "Operation Succesfull"
' end if
If Not cvsSrv.Interactive Then cvsSrv.ActiveTasks.Remove Op.TaskID
Set Op = Nothing
end if
end Sub
This is the code to delete automatically a list of agent:
'LANGUAGE=ENG
'SERVERNAME=xx.xx.xx.xx
Public Sub Main()
'Place a ";" separated file name agents.txt on the root of C drive
'This file needs to have the agent format: Cyril;1234 on every line
'This line will be read and split on the ";" and put in an array to delete in CMS
l=0 'loop value for read loop
result=0 'Answer on deleting
c=0 'counter for giving the messagebox
dim regel, a 'variable for readline and for splitting on ";"
dim sString 'variable for information on adding data
dim NameArray(999) 'define array for agent name. All data is read into this from agents.txt
dim NumberArray(999) 'define array for agent number
dim fs, f 'define filesystem stuff for read
cvsSrv.Dictionary.ACD = 3
'Reads file one line at a time into name and number array
'Place the textfile on the root of C drive
Set fs=CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile("C:\agents.txt", 1)
Do While f.AtEndOfStream <> True
regel = f.ReadLine
a = split(regel,";")
NameArray(l) = a(0)
NumberArray(l) = a(1)
l=l+1
Loop 'keep reading in data until EOF hit.
f.Close 'close agents.txt file
Set f=Nothing 'clear f and fs
Set fs=Nothing
'Read all agents into string and display it in a messagebox
for c = 0 to l-1
sString = sString & NumberArray(c) & " - " & nameArray (c) & (Chr(13) & Chr(10))
next
result = msgbox (sString, 1, "Sure to Delete these Agents?")
if result = 1 then
sString = "" 'make string empty for next use
'Delete entries
b = cvsSrv.Dictionary.CreateOperation("Login Identifications",Op)
Op.Window.Top = 4490
Op.Window.Left = 4680
Op.Window.Width = 6000
Op.Window.Height = 2540
for c = 0 to l-1
If b Then
Op.SetProperty "login_id", NumberArray(c)
Op.SetProperty "ag_name", NameArray(c)
On Error Resume Next
if b = Op.DoAction("Delete") then
else
sString = sString & NumberArray(c) & " - " & nameArray (c) & (Chr(13) & Chr(10))
end if
End If
next
if sString <> "" then
msgbox sString, 64, "Following Agents Not in System"
else
msgbox "All Agents Deleted", 64, "Operation Succesfull"
end if
If Not cvsSrv.Interactive Then cvsSrv.ActiveTasks.Remove Op.TaskID
Set Op = Nothing
end if
end Sub
Take care when you want to start your script if you have some different version language available on CMS it could try to start the wrong one so just start your english version log you on CMS and run the script.
If some french people need to have an adaptation I can also try to change my version to work with a French CMS Supervisor version.
I hope this tutorial could help some people!!
4 comments:
Hi,
The script working ok with our system, CMS rls 14.
Thank you very much for your sharing.
Regards,
Raja.E,
email:rajae@spancotele.com
Hi,
You're welcome !
I'm using this script lot of times per week is very usefull.
Regards.
great scrips! Do you have similar scripts for updating vdns, split/skills and vectors?
Regards
Marten Soderberg
marten.soderberg@bredband.net
HI Marten,
Thanks for your reply, I don't have done it, like I don't need it, but you can try to modify it, in order to use VDN split or vectors.
Regards.
Post a Comment