Skip to main content

Add some BAESL to your M365 Sandbox!

 Hey there! Hope that this post finds you doing well this New Year. You may be asking yourself: "what's the news on the cyber range you're building"? I wanted to take a short break from that and introduce a side-quest I've been working on stemming from an issue I ran into when I first created my range:

How do I create realistic users without having to add each one?

You could start adding each one manually, and spend all day filling in each detail. Or, you can be like me and spend two months trying to automate the process! The goal here was to remove the typical constraints that bulk user creation can have and allow for realism in the sandbox, not just filler. I wanted a script that can fill out the details that the admin wants, and apply it against either Active Directory or Entra. Thus, BAESL was born!

BAESL (Bulk AD Entra Sandbox Loader) is a PowerShell suite of tools that provides administrators and developers a way to inject realistic user objects into their environment. With BAESL, you can create a boat load of users with actual properties such as:

  • Department

  • Position - Mapped to the department

  • Manager - Mapped to the department

  • Office

  • Phone Number - Mapped to the office location based on area code

  • UPN

  • RBAC Roles - Mapped to the role

BAESL is officially live on GitHub and ready for you to try. Whether you're building a cyber range, testing identity workflows, or just want a smarter way to bulk-load users — this tool’s for you.

Clone the repository here: BAESL GitHub Repository


test

Using Power Automate to Update Contact Information

 We've all been there- you have a large organization who has out-of-date contact information. What do you do? You could go around to each department and ask them nicely to update their information, or send out an org-wide email prompting people to do so. However, this is tedious and oftentimes a pointless task. By the time you update one department, you're running to fix another. What if you could put the power back in the department's hands to do so? This is a struggle I faced recently as I was trying to find was I could conjure up some updated contact information for each department. As I did my research, I found that I was not alone in this endeavour as it seems that many IT professionals would love to make this process a little bit less painful. With this in mind, I introduce to you my latest flow! This flow will allow you to encourage users to update their contact information, without the overhead that comes with manual effort. In addition to this, this flow utilizes t...

Using Custom Connectors and Microsoft Graph API's to Manage Licenses in Power Automate - Part One

Happy June folks! I come to you with another post, but this time I wanted to change it up and show you something else I have just finished working on. As a SysAdmin, one of the most common issues we run into is managing licenses. Working at a post-secondary institution makes this an even greater challenge, as you have both students, staff and faculty constantly coming as well as going. Managing to keep up with this constant change can introduce great administrative overhead which takes away time from important upkeep of other systems and initiatives. You may also notice this same issue in large corporations or in other government organizations. To help combat this, I wanted to create a flow that can do the following: Get the user and their licenses Determine their last sign-in and the date Conditional to determine if the user is past the "cutoff" date Remove the user from a group where the license is assigned The only problem with doing this is that Power Automate does not ha...

Using Custom Connectors and Microsoft Graph API's to Manage Licenses in Power Automate - Part Two

Hello again! Didn't I promise you that I'd be back to wrap this up? Well, here I am to give you the second tidbit of information that you need to get this started. If you haven't already, take a look at my previous post where I go into depth about creating a custom connector in Power Automate to retrieve the latest sign-in and also gather the user's licenses. Now that we have the custom connector ready, we can now get into the meat n' potatoes of this series. In this post, I will show you the flow that makes this possible and how you can use the custom connector you have created to tie it all together! Hope you enjoy. Understanding the Logic Before we can begin creating the flow, we should first understand how the flow will work. I designed this to flow to be triggered manually, but you may want to schedule it or use another trigger. The trigger will depend on your organization's policies, so please adjust accordingly. Once triggered, the flow will use the Entra...