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.
Hi Bruno,
DataMiner has option to add Domain users/groups. You can find more details for adding single user here and you can find more details for adding whole domain groups here.
Edit:
You could try using User-Defined APIs as well to add user, it would require more effort on your side but I'm pretty sure you could do it that way, don't quote me on that one though. 😀
Hopefully this helps,
Cheers
Can you please provide some documentation on Dataminer Framework ( C# functions, etc) that allows user and group configuration? (add, delete, edit, etc,)
Thank you.
BR
Bruno Sousa
Hi Bruno,
I’ve consulted with more senior colleague and since implementing this could pose a security risk, I will let someone with more experience provide you with an answer, to make sure there are no security risks.
João,
Can you also share a snippet for deleting a user / group?
Thank you.
BR
Bruno Sousa