Master User Creator [PowerShell GUI Software] v2 Update
Table of Contents
I usually do not post articles on updates to software that I write but there are so many great updates in Master User Creator V2 that I had to make another write up. Master User Creator (MUC) is a piece of software that makes creating Active Directory and/or Office 365 users easier and more efficient. One of the drawbacks of creating a user in Active Directory Users and Computers (ADUC) is that you have to first create the user, and then find the user and edit their attributes, modify group membership, and so on. Master User Creator give you one single interface that allows you to modify membership, permissions, licenses, attributes, and so on. You can create an AD and Office 365 user at a single time as well, even copying your AD User attributes with a single click of a button.
Since publicizing the software, I have gotten many GitHub feature requests, LinkedIn message, and E-mails of additions that would make MUC even better, as well as having people and companies find the project and tell me they were looking into similar software such as Z-Hire (up to $2,500), or ADManager Plus (quote price).
This post will talk about MUC’s new features that you will find in version 2. If you would like to read the original post that includes all of the other features you can find it here.
User Interface
New Features
Dark Mode
Version 2 introduces a system wide dark mode. The main UI, as well as pop up messages, options UI, etc. carry a dark theme. The dark theme takes place instantly, no need to close and restart the application.
Office 365 and Active Directory Templates
One of the most requested features was the use of templates. Administrators set up AD or Office 365 users to act as templates and wanted to create new users based on these templates. Now you can select any user in either AD or Office 365 and copy items like group membership; attributes such as office, address, job title, company, profile path, logon script, etc.; and password settings (user must change password at next logon, user cannot change password, and so on).
Group Filtering
Group Filtering allows you to filter the groups to a search query. You can search for only groups that have the word “Admin” in them if you’d like. The filtering takes place in real time so as you type it will begin filtering the content to your query. Un-filtering the data will filter backwards until you have the original data set.
Multiple Licenses
With the amount of Office 365 licenses and add-on’s, you may find yourself applying more than one license to a user. Now you can add 1 or more licenses to your users. Licenses will also still appear as a friendly name to make it easier to understand which license is which. No more having to lookup the SKU.
Variable Based Formatting
Variable based formatting allows you to modify how you want certain attributes to be formatted. This allows you to ensure that your users attributes formatting remains constant throughout your organization, no matter who created which user. For instance – if your users User Principal Name (UPN) is usually formatted “EmployeeNumber – LastName” you can modify the UPN format to be “%EmployeeNumber% – %LastName%”. Some companies may also have the email formatted as “FirstName”.”LastName”@”UPNDomain”. You could achieve this by making the Email format be %FirstName%.%LastName%%UserPrincipalNameDomain%. The variables encapsulated in percent signs are not case sensitive. MUC will also show you all the variables that are allowed, the corresponding attribute and some examples.
Title Case
Title Case is available as a configurable option on a attribute by attribute basis. So if you make First Name and Last Name enabled for Title Case, if a user enters “brad” as the first name, it will change it to “Brad”, “wyAtT” for the last name will auto correct to “Wyatt”. This ensures consistency across your environment, no matter who created which user. Upper Case and Lower Case options will be added in the near future.
Random & Dictionary Based Password Generator
When I am creating users I tend to come up with a generic temporary password for them and allow them to reset it to something they prefer. MUC now allows not only a random password generator but a dictionary based password generator. This allows you to set the password to something secure but easier to remember. When setting a password for Office 365 users it will not allow it to exceed 16 characters as that is the limit that Office 365 currently allows.
Prerequisites
- PowerShell v3 or higher with Execution policy set to RemoteSigned or Unrestricted
- MSOnline Module (If configuring O365 User)
- Active Directory Module (If configuring AD Users, It can run on a domain joined machine with RSAT tools installed as well as on domain controllers)
Source and Download
The program is all open sourced and hosted on GitHub. If you would like to just download the .exe file you can find it here.
My name is Bradley Wyatt; I am a 4x Microsoft Most Valuable Professional in Cloud and Datacenter Management. I have given talks at many different conferences, user groups, and companies throughout the United States ranging from PowerShell to DevOps Security best practices and am the 2022 North American Outstanding Contribution to the Microsoft Community winner.
34 thoughts on “Master User Creator [PowerShell GUI Software] v2 Update”
Bryan,
This is brilliant. I’ve been working for an MSP that has had issues with user creation in the past. I wanted to build this myself today but found your post by a complete fluke.
Anyway I can donate a beer? 🙂
Where have you been all my life ??
Hi, I’m unable to connect to Office365, probably because our LAN is behind a web proxy.
Anyway you can build in proxy support?
Thank you!
how do u normally connect to O365 with PowerShell
Hi Brad,
I trust your site, and I’m sure it’s fine, but just letting you know that the executable here was blocked by my system, and threw a bunch of ‘Ransomeware’ alerts. It indicated that it’s attempting to make calls back out to a C&C server.
Its because its not digitally signed, I will add .exe hash so people can compare and know its not tampered with. As for call backs I am not sure what AV you are using but it actually makes 0 outbound calls besides when connecting to Office 365 (connect to MSOnline)
Using TMAV, and our experience has been that it does have some false alerts. I didn’t really think it was a problem, but wanted to let you know.
Awesome work!! Anyway you could add the manager field under the Organization tab please?
Yep, can you make a feature request on GitHub
Very nice tool…what do you think if I’ll try to translate it in french 🙂 and is thera a way to pre-populate some field (description,office) Address and organisation tab?
This is just fantastic, I’ve been learning power-shell as of recent and been making items using GUI, after digging through the source it really opens my eyes to what is possible, great work!
Wow!! I have to say… very nice work!!
Im working for Office365 since long time!! and I wanted to create a gui tool with all scripts by console that I made during all this time. The transition was kind of handy at first due the lack of documentation about PowerShell forms, but this really got my crazy… Long time you had to invest to reach that level of detail and complex functionality. You really depressed me in a good way, because reaching this level code it will be hard for me to get it.
Again, my most sincere congratulation… Great Work.
Hi,
Is there any where to see the actual code?
Hi Matt I linked the source files in github. All source items are there
Hi Brad, I wanted to thank you for the great work and for keeping your projects source code open to us all.
I took a different approach because I wanted a fully automated onboarding workflow that integrates well with powerapps and could be used in our hybrid environment. That being said your script helped me do it in a much more efficient way.
I’ll make sure to pay it forward.
Thanks again.
First of all nice script!
Is this script usable as we are using hybrid exchange with azure ad connect?
With regards!
yes – but identity is managed via local AD so you will want to use the option to invoke an ADSync if it doesnt auto detect it locally
Hi Brad,
This is absolutely a great program I use every day (we hire a lot) and I would like to make a feature request. Would it be possible to add the Telephones Section of AD. The other request would be to have the option to specify a password? The major feature I would request above all others is the ability to add a manager for the user. I think this could function much like the groups search?
I look forward to future versions and more of your posts!
Hi Brad,
Holyyy… I just spent the last two months trying to create something very similar to this since I have multiple clients that add/change users frequently. I have been going over the source items and just wow…
One thing, I am dabbling with adding a calendar permissions feature to this. It should be something that can be integrated very easily. Anyway you could assist with this?
Thanks a ton!
Yes can you add it to GitHub feature request – I haven’t had time to go back into this project but I plan on it soon
Would like to know how are you compiling the app into an exe file, since i plan on doing a project also based in powershell that also involves Active Directory management.
Thanks
PowerShell Studio by Sapien
Hi Brad,
Hope your doing well.
Thanks for adding the Hybrid features.. in 2.02 This will help out a great deal.
Unfortunately when the app runs the Enable-Remote Mailbox command it fails because the syntax is wrong.
Another small bug is that the created account always fails to go in correct OU – always ends up in the default user OU.
One last little bug is that when trying to copy from another user at times we can’t find the user we need to copy from, just doesn’t seem to be in the list. would help if its alphabetical 🙂
Brilliant so far tho and we all thank you for your contribution! 🙂 The quicker we can all get away from Z-hire the better!
Hi Brad, thanks for this awesome work!
Much love to you
I got a little problem to assign the licenses.
Microsoft updated all the names for Pro Plus etc.
The tool wont assign those for me. Only Microsoft Automate Power Free.
The rest stays unassigned.
Cheers Justus
Can you explain a bit more – did they change the friendly name or sku
I guess they only change the friendly name :
For example Office 365 Pro Plus is now called M365 Apps for business
Hi Brad,
This tool is excellent and I downloaded the project and compiling in Powershell Studio. Any idea your executable, when run, fits my screen, but when I edit some of the code and recompile, it is all very large? This maybe more of a Powershell Studio question but thought I would ask. Thanks again!
This is happening because I am developing on a Surface book 2 with a resolution of 3240 x 2160, I have not found a work around for this – I would reach out to Sapien
Is it possible to for end user to update the available licenses? It does not show Security E3 as an option, but would be great if I could add that and then deploy it.
Hay
can you please update the tool for modern uto and okta ?
I have a client that still uses on-prem, how easy is it to change this to work with their on-prem instead of 365?
I’ve used a heck of a lot of your scripts and edited to meet my own purpose but this one confuses me
Create tool.
Is there a variable for using the first 3 character letter in Firstname and Lastname for a username?
Hi Brad,
is there any way to create a user in a different domain? We have a management domain from which we have access to the productive domain. All administrative tasks should actually be performed on a server in the management domain, but unfortunately, this hasn’t worked with the tool so far.
Other than that, the tool is really great.
Thanks and regards, Sascha
anyone can help to connect to office 365 ?
we have hybrid environment.
Thanks