Blog
Blog
Technical articles, tutorials, and insights on PowerShell, .NET, Active Directory, and enterprise IT automation.
Type to search across all blog posts.

PowerShell Modules I worked on in 2019
A 2019 roundup of PowerShell modules, growth, retirements, and download trends across the projects built and maintained that year.

Sending information to Event Log with extended fields using PowerShell
Reading Event Logs is something that every admin does or at least should do quite often. When writing PowerShell scripts, you often need to read event logs to find out d…

Merging, splitting and creating PDF files with PowerShell
We’re in the last days of 2019, and this will be my last blog post this year. What better way to end a good year than with the release of the new PowerShell module. If t…

Sending Messages to Microsoft Teams from PowerShell just got easier and better
Send Microsoft Teams messages from PowerShell with PSTeams, using richer message cards and easier formatting for Office 365 notifications.

Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send while connecting Graph API
In the last few days, I’ve got two reports that my PowerShell module for Office 365 Health suddenly started giving errors. This was a bit weird because it worked perfect…

Getting Azure Health by parsing HTML using PSParseHTML
Some time ago I’ve wrote PowerShell way to get all information about Office 365 Service Health, and if you were thinking that I would try the same concept for Azure Serv…

Microsoft Graph – InvalidAuthenticationToken – Access token validation failure. Invalid audience
Fix Microsoft Graph InvalidAuthenticationToken invalid audience errors in PowerShell by requesting the token for the correct resource.

Set-PSRepository Installation Policy Trusted – Invalid Class Error
I have to admit – executing the same command three times and expecting different results is dumb, but I still do it anyway. Fortunately, after trying three times I usual…

Removing user from local administrator group based on data stored in Active Directory
We need to deal with a group names through SID’s rather than names because each group name is different in different languages. The second problem is to distinguish whet…

Emailimo merged into PSWriteHTML, IE support and no dependencies
If you don’t know this yet, I use PSWriteHTML a lot. That means I get to test it under a lot of different conditions. I use it in reports, emails for small, medium, and…