Enjoy an extra large edition, since I was sick last week and wasn't able to post.
Blogs, Articles, and Posts
Use PowerShell to deploy and access GPT-4o in Azure OpenAI Service
The Azure OpenAI Service is a specialized offering within the broader set of Azure Cognitive Services, providing access to OpenAI's language models. The service can be accessed through REST APIs, Python SDK, and a web-based interface, Azure OpenAI Studio. In this article, you will learn how to deploy and access the GPT-4o model in Azure with PowerShell.
Microsoft Purview Audit Search Graph API: Retrieve audit logs from Microsoft 365 with PowerShell
Microsoft Purview integrates with Microsoft 365 applications such as Exchange, SharePoint, OneDrive, and Teams, providing comprehensive data governance, compliance, and protection capabilities across these platforms. One of the standout components of this suite is the Audit Search Graph API, which is currently in public preview. It allows developers and administrators retrieve detailed audit logs programmatically, providing deep insights into user activities across Microsoft services. In this blog, I will explore the full potential of the Microsoft Purview Audit Search Graph API and demonstrate how to use the API through both PowerShell and HTTP methods.
Understanding the Clean block in PowerShell
PowerShell, a powerful scripting language and automation framework, provides features that enhance script development and execution. Among these features is the clean block, a lesser-known yet beneficial component in PowerShell functions. This article explores the clean block, its purpose, and how to use it effectively in PowerShell scripts.
To Splat or Not to Splat, That’s the Question
Splatting is an optional PowerShell technique designed to make it easier to pass parameter values for cmdlets. It’s a personal choice whether to use splatting instead of passing values to individual parameters in the command line. Although the Microsoft Graph PowerShell SDK can be a little strange at times, you can use splatting with SDK cmdlets, even with some pretty complex parameters such as those used to filter objects.
Export Microsoft 365 License Cost Report Using PowerShell
Microsoft 365 offers a vast array of plans and licenses, making it easy to find the perfect fit for your business needs. But with that flexibility comes complexity. Managing Microsoft 365 licenses and the cost spent on all those licenses can lead to confusion and can be a challenge.
Get SharePoint Files & Folders Created by External Users Using PowerShell
External collaboration in SharePoint Online is essential for certain projects and tasks that might involve users from external organizations. External sharing in SharePoint Online and the ability to grant them access to our resources simplifies communication and bridges the collaboration gaps.
PowerShell Arrays
You probably use it all the time in your scripts, but how do they work? In this blog post, I will show some simple examples of what you can do with them :)
Experimenting with PowerShell Batching and Parallel Execution
PowerShell Parallel Processing is a mechanism to speed the processing of large quantities of data. In this example, we discuss how to use parallel batches to fetch Entra ID account information using mailbox data to drive information retrieval. Although this is only a demonstration of a technique, it might help those who must process thousands of mailboxes or accounts and would like to do so more quickly.
WinTuner v 0.8.9
Package and publish any apps from WinGet to Intune.
Interpreting Audit Records for Teams Meeting Recordings (Again)
Three years ago, I wrote a script to analyze the audit records generated for Teams meeting recordings. Then things changed in terms of how the audit records were generated and how the Search-UnifiedAuditLog cmdlet returns audit search results. All of which meant that considerable work was needed to revamp (rewrite) the script. Maybe you need to check any script that uses the Search-UnifiedAuditLog cmdlet too?
tiPS v 1.3.10
PowerShell tips delivered straight to your terminal.
PowerShell Scripting and Toolmaking
At long last I've updated the content of the PowerShell Scripting and Toolmaking book from Leanpub. Get the book and you get future updates for free.
PipeScript, Formatting, and Docker: An In-Depth Conversation with James Brundage
In this episode of the PowerShell Podcast, we are joined by Microsoft MVP, former PowerShell team member, and module maker extraordinaire James Brundage. We hear about his experience at Microsoft Build, learn all docker and kubernetes while discussing his Rocker module, UserGroup updates, implicit interpretation in Pipescript, formatting and types, and so much more. Strap in because we go deep in this one.
Breaking Down ModuleFast and More with Justin Grote
In this episode of the PowerShell Podcast, host Andrew Pla interviews Microsoft MVP and PowerShell aficionado Justin Grote. They delve into an issue in the Az.Accounts 3.0.0 module, with Justin offering insights and a workaround (use an earlier version of the module). Justin also discusses his innovative ModuleFast project, explaining its architecture and his approach to writing PowerShell scripts and modules. The conversation highlights Justin's passion for APIs and celebrates his contributions as an official PowerShell project contributor. Listeners get a glimpse into Justin's workflow working at a Managed Service Provider (MSP) and how he writes to much PowerShell. He offers valuable advice for those early in their careers. Additionally, Justin shares updates on his PowerHTML (1.2m downloads) project, which originated from a GitHub pull request, showcasing his continuous contributions to the PowerShell community.