Here’s the next installment of a new series of posts we’re doing on the Mattermost blog: Mattermost Recipes.
The goal of these posts is to provide you with solutions to specific problems, as well as a discussion about the details of the solution and some tips about how to customize it to suit your needs perfectly.
If there’s a Recipe you want us to cook up in the future, drop us a line on our forum.
Your enterprise is using Active Directory to manage several thousand users. You’d like to import those users into Mattermost channels to maintain the organizational units and group structures (e.g., computers, users and devices) you’ve created.
Mattermost allows the bulk import of data into the server with a bulk_import tool which is part of the central platform command. (The details can be found here.)
The tool needs the data to be imported in a JSONL (JSON lines) format. Unfortunately, that can’t be created out-of-the-box on a Windows Active Directory server.
A PowerShell script seems to be the best option here. Here’s a script I wrote which can be easily used and forked.
You can change different lines to solve your use case.
For example, the search base can easily be pointed to another organizational unit or common name. You can also check the search filter as you may just want to add specific users to specific channels (e.g., all HR users to the “Onboarding” and “Interviews” channels).
Right now, the script is written to support one team and many channels which can be changed by adding another loop inside.
The result of the script is a JSONL file that can be used by the bulk import command on the Mattermost server.
Please use the –validate switch before uploading the users and keep in mind that the channel names have to be lowercase on the PowerShell import!
When all users are imported, they should be already part of the channels you’ve added them to with the script and import (e.g., testchannel and secondone).
Need some more help?
Check out this short demo to see exactly what needs to be done.