• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Clatent

Technology | Fitness | Food

  • About
  • Resources
  • Contact

AzureAD

365AutomatedLab and new companion module coming soon

June 28, 2024 by ClaytonT Leave a Comment

365AutomatedLab and new companion module coming soon

I promise I haven’t forgotten about 365AutomatedLab, but I’ll be honest after Microsoft made the announcement of no more new Dev tenants it hurt a bit as I know how useful they are on learning and testing features and PowerShell without hurting your production environment. 365AutomatedLab will still be used for people that have Dev tenants whether they are free or not, but you can use these functions in production as well.

Now about the new module, it hasn’t been released yet, but finishing cleaning it up to at least beta stage. I won’t say exactly what it does yet, but it is a companion to 365AutomatedLab in that it helps you keep your 365 tenant organized. A little teaser though, is that some of the parts will work with the amazing module Maester and if you don’t already use it, go install it now. Seriously, go do that and while that is downloading, think of ways you would like to see 365AutomatedLab improved.

Maester.dev – Test Automation Framework to keep control of your 365 security configuration
365AutomatedLab – Setup a 365 Tenant from an Excel Workbook

As always, thank you for taking the time and have a great day!

Tagged With: 365, 365AutomatedLab, Automation, Maester, PowerShell, Reporting, Testing

365Automatedlab V2.10.1 Released!

April 26, 2024 by ClaytonT Leave a Comment

I know I said every 2 weeks, but I lied. I wanted to get this out! It is now possible to add a manager when creating a new user. Also added a feature so that when you use the parameter -UseDeveloperPackE5 when creating new users and it will add the Developer license to all added users.

New-CTUser

  • Added “Add Manager” when creating new user
  • Add only Dev licenses option
  • Updated help
  • Allow some parameters to be empty

Added “Discussions” in GitHub for feature requests and general discussions

Let me know what you think and if you have any feedback or suggestions!

Have a great day!

PowerShell Gallery: https://www.powershellgallery.com/packages/365AutomatedLab/2.10.1
GitHub: https://github.com/DevClate/365AutomatedLab

Tagged With: 365, 365AutomatedLab, Automation, Onboarding, PowerShell, Sharepoint, Teams

2.9.0 Released and Big Update

April 19, 2024 by ClaytonT Leave a Comment

I know it’s been a month, all good though! I think I may start doing monthly release, what are your thoughts? I was going to do every 2 weeks, but not sure if that is too quick.

Big update as I’m starting to make it more production environment ready, not that you can’t use it in production now, but I want to add a lot more parameters for the cmdlets. I need your help, please let me know what parameters are most important and feel free to make a contribution. I’m definitely open to PRs.

The reason for this switch is from the Microsoft Developer Tenant not accepting any new tenants, and want to help out the engineers that can’t get a test tenant, but want a way to mass add and remove objects in their 365 production tenants safely.

With that said, your feedback is even more important now as we don’t want to break anyone’s tenant 🙂

Now for the updates:

2.9.0

Updated Features

New-CT365User

  • CompanyName
  • EmployeeHireDate
  • EmplyeeId
  • EmployeeType
    • Employee, Contractor, Consultant, or Vendor.
  • FaxNumber

New-CT365DataEnvironment

  • CompanyName
  • EmployeeHireDate
  • EmplyeeId
  • EmployeeType
  • FaxNumber

Export-CT365ProdUserToExcel

  • CompanyName
  • EmployeeHireDate
  • EmplyeeId
  • EmployeeType
  • FaxNumber

365DataEnvironment.xlsx

  • CompanyName
  • EmployeeHireDate
  • EmplyeeId
  • EmployeeType
  • FaxNumber

Hope this helps you out and have a great day!

PowerShell Gallery: https://www.powershellgallery.com/packages/365AutomatedLab/2.9.0
GitHub: https://github.com/DevClate/365AutomatedLab

Tagged With: 365, 365AutomatedLab, Automation, Entra, Module Monday, PowerShell

Why did I get this email?

March 25, 2024 by ClaytonT Leave a Comment

Here’s the scenario…

An executive forwards an email to your ticketing system and asks why they are receiving it. Then sends another from the day before. There is a Microsoft 365 distribution list(DL) in both emails, but not one they would be on. What do you do?

Check and see if there are any tickets for that DL, and you see there haven’t been any tickets for that DL or even that person. You then check the DL, and indeed see they are in it…. but how?

PowerShell to the rescue! Have you ever used “Search-UnifiedAuditLog” which is a cmdlet for Exchange Online PowerShell? It is a great for one off investigations in 365, but here we will use it to find any admin activity for that user in the past week. Full disclosure, I’ve used it a handful of times and had never really dug into which was a mistake on my part. Knowing more of what it can do now would have saved me so much time on other resolutions where I had gone through the 365 portal. Don’t be me, start using this now and create your own functions as well Purview to save you time and headaches. Enable it now, as it can’t be backdated.

# See if you have it enabled
Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled

# If not enabled, run this
Enable-OrganizationCustomization

# Enable Audit logs - this can take up to 60 mins
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true

Hopefully you already have it enabled, or you enabled it right now and can wait for it to start ingesting the logs so when you do need it, it is available.

Back to our executive incident. How do we find out what happened. The quick way is to run:

# Check for all admin activity for named user
Search-UnifiedAuditLog -StartDate 2/1/2024 -EndDate 3/16/2024 -ObjectIds execuser@domain.com

And this is the way I originally did it to get the answer I needed. That’s it! Then you will see in “AuditData” which groups they were added/removed from and any operations that happened with the groups they are in. This broad search will show even more, but only mentioning parts related to this task. At the end of this post I’ll have a list of great resources on how to get granular on your searches.

Now you can see that another engineer accidentally added them(after confirming with engineer), and you can just remove them from the list. This is best case scenario, as if I hadn’t looked and just removed the executive without searching and asking the engineer, they could have been added by a compromised account seeing what kind of privileges they had.

There is a way clean up the audit data so it is easier to view, but that will be in a longer blog post coming soon. Again, I’ll have some links at the end to give you a head start. Honestly, this was only supposed to be a quick one liner post, that definitely grew, and I’ve spent more time than I would like to admit researching it. It has given me more ideas on how to use it and I’ll put together functions in a repository or possibly a module of most useful commands.

One function I’ll be creating is one to check to see if a user has changed their password recently, has multiple failed attempts, and/or if they have locked themself out. How nice would that be for you or your help desk if the function sees who submitted the ticket, runs the function then gives you that feedback? To go one step farther, if they aren’t blocked out, automatically send them the password reset portal to reset their password?

If you already use this, what scripts/functions have you created? I’d love to hear about them, and I can create a repository for us to keep them in one spot.

Useful Links:

Search-UnifiedAuditLog – Microsoft Learn Cmdlet
How it works – Services that support auditing
Detailed info – Detailed Microsoft Script

Hope this helps saving you from headaches and can’t wait to hear how you use it! Have a great day!

Tagged With: 365, AuditLog, Automation, Entra, PowerShell, Reporting, Security

365AutomatedLab V2.8.0 is released and 365 Dev Tenant Announcement Feelings

March 18, 2024 by ClaytonT Leave a Comment

I know it’s been a bit, but life has been a bit hectic. Also a bit saddened about the Microsoft announcement that you can no longer create new Free 365 Dev Tenants. I’m really hoping they revert that decision, or make the Dev Tenant even better. I honestly don’t think it’s a money grab, but more for security. If it is toot easy to create a temp tenant it is a great tool for bad actors. I’ll leave it at that for now, and will probably do a bigger blog post on it in the future.

365AutomatedLab is still here to stay though, as I want to make it quick as possible for you to test any situations you need to, especially if you have to pay for it. As always, you can use these in a production environment for your normal activities, but please test first. If you run into any issues, please create an issue so we can resolve and let others know for their environment.

With that said, you can now add a owner for a group, and if you don’t it will default to the User Principal Name you named in the parameters. It is only for a single owner for now, would you want to have it for multiple owners?

Hope you have a great day 🙂

GitHub: https://github.com/DevClate/365AutomatedLab/tree/main

PowerShell Gallery: https://www.powershellgallery.com/packages/365AutomatedLab/2.8.0

Tagged With: 365, 365AutomatedLab, Automation, PowerShell

365Automatedlab V2.2.0 Released!

December 18, 2023 by ClaytonT Leave a Comment

Happy to announce the release of V2.2.0. Going forward I’ll post release updates here as well as on GitHub.

New Features:
New-CT365Teams: Updated to include Teams, Channels, and their owners. Currently it is set for the same owner for all, but will be updating it in the future. If you would like to see that sooner than later, please open an issue on GitHub.

Verify-CT365TeamsCreation: this is a private function to confirm that the Teams team was created successfully.

Breaking Changes:
None – There are no breaking changes in this update

How to use:

New-CT365Teams -FilePath “C:\Scripts\TeamsData.xlsx” -AdminUrl “testenv.sharepoint.com” -DefaultOwnerUPN “admin@testenv.com

This will create all Teams, Teams’ Channels, and set the owner to admin@testenv.com in the TeamsData.xlsx file under the worksheet name “Teams”. You can add more channels if needed if you follow the template and increase the channel number. For example, to add a Third channel, you would add 3 new columns, the first Channel3Name, the second Channel3Description, and the third Channel3Type with there correct value.

How to install:

# Run first if you need to set Execution Policy
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

# Install 365AutomatedLab
Install-Module -Name 365AutomatedLab -Scope CurrentUser

Check out the GitHub Repo: 365AutomatedLab

If you have any questions, concerns, or feature requests, feel free to reach out to me and/or create a GitHub issue. I’m always looking for feedback on how I can improve this module to make it even more useful for you.

Tagged With: 365, 365AutomatedLab, 365Groups, Automation, PowerShell, Sharepoint, Teams

  • « Go to Previous Page
  • Page 1
  • Interim pages omitted …
  • Page 3
  • Page 4
  • Page 5
  • Page 6
  • Page 7
  • Go to Next Page »

Primary Sidebar

Clayton Tyger

Tech enthusiast dad who has lost 100lbs and now sometimes has crazy running/biking ideas. Read More…

Find Me On

  • Email
  • GitHub
  • Instagram
  • LinkedIn
  • Twitter

Recent Posts

  • Learning ValidateSet in PowerShell: Valid Values Only
  • Teams Chat and PowerShell – How to add value!
  • EntraFIDOFinder: New Web UI and Over 70 New Authenticators
  • January 19, 2026 Updates to EntraFIDOFinder
  • v0.0.20 EntraFIDOFinder is out

Categories

  • 365
  • Active Directory
  • AI
  • AzureAD
  • BlueSky
  • Cim
  • Dashboards
  • Documentation
  • Entra
  • Get-WMI
  • Learning
  • Module Monday
  • Nutanix
  • One Liner Wednesday
  • Passwords
  • PDF
  • Planner
  • PowerShell
  • Read-Only Friday
  • Reporting
  • Security
  • Uncategorized
  • Windows
  • WSUS

© 2026 Clatent