cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

This community is for technical, feature, configuration and deployment questions.
For production deployment issues, please contact the TAC! We will not comment or assist with your TAC case in these forums.
Please see How to Ask the Community for Help for other best practices.

746
Views
0
Helpful
0
Replies

ISE Internal user creation using Python script

Hi All,

 

I would like to create internal users using Python script.

I have installed 3.9.2 Python and saved the .py file and run the execution using ERS SDK guide for ISE

 

However getting an error:-

 

C:\Users\ghibuser\Desktop>python ISEInternalUserTest.py 192.xxxxxx ers-admin admin20 B100 robert Robert Mensah Password1 rmensah@gh.co.uk Employee 12/26/2021


File "C:\Users\ghibuser\Desktop\ISEInternalUserTest.py", line 38, in <module>
req_body_json = """{{
IndexError: Replacement index 8 out of range for positional args tuple

 

This is my code 

#!/usr/bin/python
import http.client
import base64
import ssl
import sys
import os
import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

 

argv = sys.argv[1]
print ("The name of the script: ", sys.argv[0])
print ("The argument are: ", argv)
#parameters

id = sys.argv[4] # "B100"
userName = sys.argv[5] # "robert"
firstName = sys.argv[6] # "Robert"
lastName = sys.argv[7] # " Mensah"
password = sys.argv[8] # "Password1"
emailAddress = sys.argv[9] # "rmensah@gh.co.uk
expiryDate = sys.argv[10] # “12/26/2022”
identityGroups = sys.argv[11] # “Employee”


# host and authentication credentials
host = sys.argv[1] # "192.198.1.1"
user = sys.argv[2] # “ers.admin”
password = sys.argv[3] # “admin20!”

conn = http.client.HTTPSConnection("{}:9060".format(host), context=ssl.SSLContext(ssl.PROTOCOL_TLS))

creds = str.encode(':'.join((user, password)))
encodedAuth = bytes.decode(base64.b64encode(creds))

req_body_json = """{{

\"InternalUser\" : {{

\"id"\ : "\{}\",

\"Name\" : "\{}\",


\"description"\ : "\{}\",

"enabled" : true,

\"email\" : "\{}\",

\"password\" : "\{}\",

\"firstName\" : "\{}\",

\"lastName\" : "\{}\",

\"changePassword\" : true,

\"identityGroups\" : "\{}\",

"expiryDateEnabled" : false,

"expiryDate" : "\{}\",

"enablePassword" : "enablePassword",

"customAttributes" : {

"key1" : "value1",

"key2" : "value3"

},

"passwordIDStore" : "Internal Users"

}

}}
}}""".format(id,userName,firstName,lastName,emailAddress,password,identityGroups,expiryDate)
headers = {
'accept': "application/json",
'content-type': "application/json",
'authorization': " ".join(("Basic",encodedAuth)),
'cache-control': "no-cache",
}
conn.request("POST", "/ers/config/internaluser/", headers=headers, body=req_body_json)

es = conn.getresponse()
data = res.read()

print("Status: {}".format(res.status))
print("Header:\n{}".format(res.headers))
print("Body:\n{}".format(data.decode("utf-8")))

print(req_body_json)

 

 

 Any help would be appreciated!!!

 

Regards

Richard Acolatse

0 REPLIES 0
Create
Recognize Your Peers
Polls
Which of these topics should we host an event in the Community?

Top Choice: ISE Demo (50%)

Content for Community-Ad

ISE Webinars



Did you miss a previous ISE webinar?

CiscoISE YouTube Channel