PowerTip: Remove calendar events from a mailbox

Summary: Remove calendar events within an Exchange Online mailbox. Is there an easy way to remove calendar events from within an Exchange Online mailbox? Yes there is. There is a newly deployed cmdlet to Office 365 tenants: Remove-CalendarEvents. This cmdlet is currently only available in Exchange Online, but it does allow administrators to remove calendar…


Weekend Scripter: Exchange add-in module

Summary: Mike O’Neill, Microsoft Senior Premier Field Engineer, created an Exchange add-in module. This is a PowerShell module for Exchange engineers. The module takes into account both on-premises and hybrid deployed Exchange environments. It is a combination of several other scripts that are either on the internet, or are action items you might need help…


Debugging PowerShell script in Visual Studio Code – Part 2

Welcome to Part 2 of the series about how to debug PowerShell in Visual Studio Code. In Part 1, we looked at the debugging features of Visual Studio Code with the PowerShell extension installed.  Now we will examine the various ways that you can start to debug PowerShell script with Visual Studio Code. Single file…


PowerTip: Get a list of security patches installed in the last 90 days

Summary: Cloud and Datacenter Management MVP, Thomas Rayner, shows how to get a list of all the security patches installed in the last three months. How can I list all the security patches that I’ve installed in the last 90 days? There’s a class for that! Just use Get-CimInstance, and you can retrieve this information….


PSScriptAnalyzer deep dive – Part 4 of 4

Summary: Thomas Rayner, Microsoft Cloud and Datacenter Management MVP, shows how to write a custom PSScriptAnalyzer rule. Hello! I’m Thomas Rayner, a Cloud and Datacenter Management Microsoft MVP, filling in for The Scripting Guy this week. You can find me on Twitter (@MrThomasRayner), or posting on my blog, workingsysadmin.com. This week, I’m presenting a four-part…


PowerTip: Get a list of suspended Azure Automation jobs

Summary: Cloud and Datacenter Management MVP, Thomas Rayner, shows how get a list of all your suspended Azure Automation jobs. I think I have an Azure Automation job that is getting suspended for running too long. How can I verify this? You can use the Get-AzureRmAutomationJob cmdlet and its -Status flag to get this information….


PSScriptAnalyzer deep dive – Part 3 of 4

Summary: Thomas Rayner, Microsoft Cloud and Datacenter Management MVP, shows how to use Pester to get nUnit formatted results out of PSScriptAnalyzer. Hello! I’m Thomas Rayner, a Cloud and Datacenter Management Microsoft MVP, filling in for The Scripting Guy this week. You can find me on Twitter (@MrThomasRayner), or posting on my blog, workingsysadmin.com. This…


PowerTip: Convert from UTC to my local time zone

Summary: Cloud and Datacenter Management MVP, Thomas Rayner, shows how write a function to convert from UTC to your local time zone. I have a time that I’d like to convert from UTC to my local time zone. How can I do this? You can write your own function to do this, and use the…


PSScriptAnalyzer deep dive – Part 2 of 4

Summary: Thomas Rayner, Microsoft Cloud and Datacenter Management MVP, shows how to suppress, include, and exclude PSScriptAnalyzer rules. Hello! I’m Thomas Rayner, a Cloud and Datacenter Management Microsoft MVP, filling in for The Scripting Guy this week. You can find me on Twitter (@MrThomasRayner), or posting on my blog, workingsysadmin.com. This week, I’m presenting a…


PSScriptAnalyzer deep dive – Part 1 of 4

Summary: Thomas Rayner, Microsoft Cloud and Datacenter Management MVP, shows the basics about how to use PSScriptAnalyzer. Hello! I’m Thomas Rayner, a Cloud and Datacenter Management Microsoft MVP, filling in for The Scripting Guy this week. You can find me on Twitter (@MrThomasRayner), or posting on my blog, workingsysadmin.com. This week, I’m presenting a four-part…