Hello,
Is it possible to create Dataminer users in an automatic way? (API, for example..)
Thank you.
Best regards
Bruno Sousa
Hi Bruno,
As Edib mentioned the best way to have users automatically added to your system is by leveraging the domain groups feature.
This is because, although we do not have an API for adding, deleting, or editing a user and assigning it to a group, it can be done in a relatively easy manner via a few SLNet calls.
When it comes to manipulating group permissions it then becomes a lot more complex and we do not have an API for it either.
My suggestion would be to see if adding Domain Groups would work for you otherwise I would advise you to manually set the groups you need via Cube (see Managing user groups | DataMiner Docs and respective subpages) and then use the following 2 snippets
Add user
public static void CreateUser(IEngine engine, string username, string password, string userFullName, string userDescription, bool cannotChangePassword = false, bool passwordNeverExpires = false, bool mustChangePasswordAtNextLogin = false)
{
string[] sa = new string[16] {
username,
password,
null,
userDescription,
userFullName ?? username,
mustChangePasswordAtNextLogin.ToString().ToUpper(),
passwordNeverExpires.ToString().ToUpper(),
cannotChangePassword.ToString().ToUpper(),
null, // Telephone
String.Empty, // Email
null, // Level
null, // Pager Number
null,
"{271EE7C8-7D38-4cf6-84FF-07C29473869D}",
null,
null,
};SetSecurityInfoMessage createUser = new SetSecurityInfoMessage
{
BInfo = Int32.MaxValue,
Sa = new SA(sa),
User = username,
What = (int)InfoType.SecurityInfo // 8
};engine.SendSLNetSingleResponseMessage(createUser);
}
Add user to group
public static void AssignUserToGroup(IEngine engine, string userName, int groupId)
{
engine.SendSLNetSingleResponseMessage(new AssignUserToGroupMessage(userName, groupId));
}
Disclaimer
Note that these are internal calls and we do not recommend using them, as it is not officially supported and we cannot guarantee that it will still work in the future. As a rule, you should avoid using SLNet calls, as these are subject to change without notice. We recommend instead always using the correct UI or automation options provided in DataMiner Automation or through our web API.
Hi Bruno,
The ones I provided are from code I implemented in the past, however, I did not require delete operations so I do not have such snippets currently.
But feel free to check the Feature Suggestion section (https://community.dataminer.services/feature-suggestions) and leave a request so that an API can be built to simplify the process.
João,
Can you also share a snippet for deleting a user / group?
Thank you.
BR
Bruno Sousa