Liam Cleary

SharePlicity

X Twitter

Liam began his career as a computer trainer. He quickly realized that programming, breaking and hacking were much more fun. Liam spent the next few years working within core infrastructure and security services. He is now the founder and owner of SharePlicity, a consulting company focusing on Microsoft 365 and Azure technology. His role within SharePlicity is to help organizations implement Microsoft 365 and Azure technology to enhance internal and external collaboration, document, and records management, automate business processes, and implement security controls and protection. He is a long-time Microsoft MVP and Microsoft Certified Trainer, focusing on architecture, security and crossing the boundary into software development. Over the past few years, his specialty has been security in Microsoft 365, Azure and its surrounding platforms. Liam also creates online training courses for Pluralsight, LinkedIn Learning and Cloud Academy, and he teaches multiple Microsoft certification courses for Opsgility and Microsoft. You can find him at user groups and conferences, teaching classes, offering advice, spending time in the community, teaching his kids how to code, raspberry PI programming, hacking the planet, building Lego robots, or coaching soccer. You may also find him running races in the dark, hiking, or mountain biking at breakneck speeds.


Published by Liam Cleary

Released and Upcoming Courses

- 1 min read-Liam Cleary
As most of you know, I author Pluralsight and LinkedIn Learning courses. There may also be some new ones soon. Since September 2022, I have released the following courses on Pluralsight and LinkedIn Learning. Also, I'm working on courses for releases through the end of the year/early next year.

How Hard Is It to Implement Microsoft 365 Security?

- 5 min read-Liam Cleary
Implementing security controls within Microsoft 365 is often complicated and requires planning and effort. This article discusses why many organizations need help implementing security controls as part of a Microsoft cloud migration.

Can You Tell ChatGPT Wrote Content?

- 5 min read-Liam Cleary
ChatGPT is fantastic; there, I said it. However, it has limitations; mainly, it only knows information that was part of its training, which finished in early 2022. That said, asking random questions and seeing what it comes back with is a fun exercise. On the one hand, it is excellent for helping you summarize large amounts of content, but it could be better at writing or fixing code.

Removing Connect-MgGraph Permissions

- 3 min read-Liam Cleary
If, like me, you connect to either Azure Active Directory or Microsoft 365 using the Microsoft Graph PowerShell SDK, you may have hit the problem where you seem to have more permissions than you need and need help figuring out why you do. The good news is this is a pretty easy thing to figure out. Learn more.

Connect to Microsoft Graph PowerShell Using an App Registration

- 5 min read-Liam Cleary
Connecting to the Microsoft Graph using PowerShell is simple. The most straightforward approach is to pass the required scopes as part of the “Connect-MgGraph“; however, this means you may have to consent each time. Learn more.

Managing Microsoft Teams Using the Microsoft Graph PowerShell

- 4 min read-Liam Cleary
With Microsoft Teams being as popular as it is now, it is even more important for administrators to manage it effectively. Microsoft Teams provides a PowerShell module available for installation. You can, however, use the Microsoft Graph PowerShell instead to perform many of the same administration tasks.

Microsoft Graph PowerShell - Backticks vs. Splatting vs. Class Objects

- 3 min read-Liam Cleary
I am sure by now you know what I am talking about here—the three approaches to creating PowerShell scripts to reuse as needed. I have often had this conversation about what is best, and it reminds me very much of the spaces versus tabs for code like C#. Some like backticks, some prefer splatting, and some enjoy class objects.

Microsoft Graph PowerShell Filtering Working and Failures

- 5 min read-Liam Cleary
In a recent post, I mentioned that sometimes filtering the Graph PowerShell commands doesn't work. It is not every command, but some take the filter and never return anything. The Microsoft Graph itself supports various types of filter operators, so the assumption is that Graph PowerShell supports them too. Learn more.

Sending Emails Using Microsoft Graph PowerShell

- 2 min read-Liam Cleary
Recently Tobias Zimmergren posted a great article about sending emails using the Microsoft Graph with .NET. If you haven't read it, check it out now: https://zimmergren.net/sending-e-mails-using-microsoft-graph-using-dotnet/. After reading it, I thought what might be interesting is doing the same thing, but using the Microsoft Graph PowerShell commands instead. So let's get straight to it.

Using the Microsoft Graph PowerShell for Security Alerts

- 4 min read-Liam Cleary
Microsoft 365 provides deep insight into the configuration, analytics, and usage, as well as security notifications and alerts. Multiple locations within the various admin centers surface these alerts, and some of these get emailed to the administrators to make it easy to review and action. The easiest way to manage these alerts is to use PowerShell. As always, the Microsoft Graph PowerShell modules provide the capabilities for this.

Using "Invoke-MgGraphRequest" within the Microsoft Graph PowerShell

- 3 min read-Liam Cleary
When working with the Microsoft Graph PowerShell cmdlets, you will notice that you need to use the Microsoft.Graph.Users object to manage the most common user tasks. This core object contains all the commands for adding, updating, removing users, groups, and associated tasks within Microsoft ToDo and Outlook. To retrieve the values we need, the good news is that we have the command Invoke-MgGraphRequest.

Understanding the Microsoft Graph PowerShell

- 3 min read-Liam Cleary
Learn more about Microsoft Graph PowerShell commands for Microsoft 365, which is what all administrators should be learning.