Creating users through nxshell fails

Started by deep4ore, April 15, 2019, 09:46:25 PM

Previous topic - Next topic

deep4ore


On version 2.2.12, I attempted creating users via NXMC but failed. The goal is to automate create/delete/update/rotate user credentials.
The session object in nxshell/jython maps to NXCSession class in the javadoc, which does have a createUser(String name) method.

However calling that method, results in the following:

NetXMS 2.2.12 Interactive Shell
>>> s.createUser("a_test_user")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
        at org.netxms.client.NXCSession.waitForRCC(NXCSession.java:1688)
        at org.netxms.client.NXCSession.waitForRCC(NXCSession.java:1655)
        at org.netxms.client.NXCSession.createUserDBObject(NXCSession.java:3890)
        at org.netxms.client.NXCSession.createUser(NXCSession.java:3907)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
org.netxms.client.NXCException: org.netxms.client.NXCException: Access denied

Victor Kirhenshtein

"Access denied" error means that current user has no access to user database. Also, before creating user you have to lock user database, like this:


s.lockUserDatabase()
s.createUser("new_user")
s.unlockUserDatabase()


Best regards,
Victor