Question
· Jul 20, 2022

Can I create an User Account from code

LS, Is it possible to create User Accounts, and assign specific Roles to them, from objectscript?

Product version: IRIS 2021.1
$ZV: IRIS for Windows (x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:39:22 EDT [Health:3.3.0]
Discussion (3)2
Log in or sign up to continue

You can use the Create method of the Security.Users class to do that. Bear in mind that class is in %SYS. Documentation for Create is here: Security.Users.

set $nameSpace = "%SYS"
if '##class(Security.Users).Exists("testuser") {
    // Set properties
    set props("Enabled")=1
    set props("Name")=testuser
    set props("FullName")="Test User"
    set props("SuperUser")=0
    set props("NameSpace")="USER"
    set props("Roles")="%Developer,%Operator,TestRole"
    set props("Password")=userpassword
    set props("PasswordNeverExpires")=0
    set props("ChangePassword")=0
    set props("Routine")=""
    set props("ExpirationDate")=""
    set props("Flags")=1
    set props("EmailAddress")=""
    set status=##class(Security.Users).Create(user, .props)
    if $$$ISERR(status) {
        do $system.Status.DecomposeStatus(status, .err)
    }
}