Tag: PowerShell

I’m joining Microsoft and today is my last day as a Microsoft MVP

I’ve worked as an IT Pro since 1994, with the past fourteen years at the same employer and my last day with them was this past Friday. I’ve also been a Microsoft MVP for the past six years, the first two as a PowerShell MVP and the last four as a Cloud and Datacenter Management MVP. Today is my last day as a Microsoft MVP because you can’t be an MVP if you work for Microsoft. As of tomorrow, Monday, March 23rd I’ll be embarking on a new chapter in my career as a Senior Content Developer Read more [...]

How many Services does Microsoft Azure Offer?

I've recently wondered how many service offerings Azure has. I've read anywhere from 150 to 600 and I even went so far as to ask an Azure Product Manager but still didn't receive a clear answer. What I did find out is that Microsoft maintains an Azure services directory on their Azure products website. I figured that was a good place to start looking and while the website is informative, it didn't provide a count of the service offerings. Manually counting them wouldn't be an efficient or accurate Read more [...]

AzureRM PowerShell Commands that Don’t Exist when Enabling Compatibility Aliases in the Az Module

As I mentioned in a previous blog article, the AzureRM PowerShell module is only supported until December of 2020. It has been replaced by the Az PowerShell module which was introduced in December of 2018. On Twitter, I recently asked if anyone was still using the AzureRM module and what was keeping them from transitioning to the Az module. One of the responses I received was due to the amount of work and time invested in scripts based on the AzureRM module. The Az PowerShell module includes Read more [...]

How to Install the Azure Az PowerShell Module

The Az PowerShell module was released in December of 2018 and is now the recommended module for managing Microsoft Azure. AzureRM is the previous PowerShell module for managing Azure which has been deprecated but will continue to be supported until December of 2020. Windows PowerShell 5.1, PowerShell Core 6, PowerShell 7, and higher are supported by the Az PowerShell module. Windows 10 version 1607 and higher has Windows PowerShell 5.1 installed by default. Determine if the version of PowerShell Read more [...]

Setting Dependencies on the Azure PowerShell Module

I recently saw a tweet from Joel Bennett about the Az (Azure) PowerShell module being nothing more than an empty module that imports all of the modules for each Azure product. I decided to investigate. Joel's statement is 100% accurate. Off-Topic: The searched for term is highlighted in each result when the previous command is run in PowerShell 7. One thing I don't like about the Az module is the Import-Module statements use the RequiredVersion Read more [...]

Using PowerShell to Retrieve Exchange Mailbox Statistics for Office 365 Migrations

Recently, I've been working on trying to finish up a migration from Exchange Server 2010 to Office 365. There are potentially numerous mailboxes that aren't used and those won't be migrated to Office 365 because there's no sense in paying for licensing for them. How do you determine what mailboxes are in use? First, use implicit remoting to load the Exchange cmdlets locally. Years ago, I would install the Exchange cmdlets locally, but it was brought to my attention that it's unsupported, at Read more [...]

PowerShell + DevOps Global Summit 2020 – Call for Speakers

The call for speakers for the 2020 PowerShell + DevOps Global Summit is open until October 1st. I can definitely speak from experience when I say that this is the best PowerShell conference in North America if you're interested in PowerShell and networking with other like-minded people. I've attended every year since its inception and have spoken at it about half as many times. While I'm in no way affiliated with the organizers, based on their site, they're not only looking for deep-dive content Read more [...]

PowerShell Productivity Hacks: How I use Get-Command

If you've been using PowerShell for very long at all, then you should already be familiar with Get-Command and Get-Help. While I like to say that Get-Command is for finding commands and Get-Help is for learning how to use those commands once you've found them, there is overlap between these two commands depending on how you use them. I believe in following the best practice of not using aliases or positional parameters in any code that I save or share with others, but in this blog article, I'm Read more [...]

Research Triangle PowerShell Saturday – September 21st

The Research Triangle PowerShell Saturday is Saturday, September 21st, 2019 in Raleigh, North Carolina. There's also a 6-hour security session on Sunday, September 22nd, 2019. Tickets can be purchased for just one of the days or both, but seating is limited for the Sunday post-con so don't wait until the last minute! Based on the schedule, this event should be almost like a mini PowerShell + DevOps Global Summit which makes it well worth the price of admission. There are three different all-day Read more [...]

Parallel and ThrottleLimit Parameters added to ForEach-Object in PowerShell 7 Preview 3

Preview 3 of PowerShell 7 was released yesterday. It can be downloaded from the PowerShell repository on GitHub. Be sure to choose the preview version for the appropriate operating system. It should go without saying that anything with preview in its name should NOT be installed on a mission-critical production system. The examples shown in this blog article are being run on a system running Windows 10 (x64). Your mileage may vary with other operating systems and/or versions. One Read more [...]

Presenting 2 Sessions in the All Day Dedicated PowerShell Track at SQL Saturday Baton Rouge this Saturday August 17th, 2019

I’ll be presenting “PowerShell + SQL Server = Better Together” and "Writing Award Winning PowerShell Functions and Script Modules" at SQL Saturday #867 in Baton Rouge Louisiana this Saturday, August 17th. The event is free, although you need to register. Here’s a little information about what you can expect from my sessions: PowerShell + SQL Server = Better Together As a SQL Server professional, are you able to make a rhyme or reason to this thing called PowerShell? Need to accomplish Read more [...]

PowerShell Function to Find Parameter Aliases

While sitting through Jeff Hicks' Advanced PowerShell Scripting Workshop at PowerShell on the River in Chattanooga today, he mentioned there being a "Cn" alias for the ComputerName parameter of commands in PowerShell. I've previously written a one-liner to find parameter aliases and at one time Microsoft had starting adding parameter aliases to the help for commands as referenced in that same blog article, but it appears that they've discontinued adding them to the help and removed the ones they Read more [...]

Where are Untitled Tabs in VSCode Saved on a Windows System?

Ever wonder how VSCode (Visual Studio Code) maintains those untitled tabs between sessions? They're stored as files underneath your user's profile in appdata on Windows based systems as shown in the following example. The previous command could be piped to Get-Content to view the contents of all of code in the open untitled tabs of VSCode. You could also use Select-String to find something specific. I can see that three of my open tabs contain 'mikefrobbins'. Concerned Read more [...]

The No-Nonsense Beginner’s Guide to PowerShell at PowerShell on the River in Chattanooga, TN on Saturday August 10th

I’ll be presenting "PowerShell 101: The No-Nonsense Beginner’s Guide to PowerShell" at PowerShell on the River in Chattanooga Tennessee this Saturday, August 10th. The event itself is a mini-conference with all day sessions on Friday, August 9th and then numerous speakers presenting in three different tracks on Saturday, August 10th. Here’s a little information about what you can expect from my session: PowerShell 101: The No-Nonsense Beginner’s Guide to PowerShell Interested in Read more [...]

What’s in your PowerShell $PSDefaultParameterValues Preference Variable?

The $PSDefaultParameterValues preference variable, which was introduced in Windows PowerShell version 3.0, provides a mechanism for specifying default values for parameters. I thought I would share what I've added to mine and ask the community to share theirs. The first one in the list ('Out-Default:OutVariable' = 'LastResult') is one I picked up from Joel Bennett to store the results of the last command in a variable named $LastResult. Since then, I've seen Read more [...]

PowerShell + SQL Server = Better Together Presentation at SQL Saturday Birmingham on Saturday, July 27th

I'll be presenting "PowerShell + SQL Server = Better Together" at SQL Saturday #899 in Birmingham Alabama this Saturday, July 27th. The event is free, although you need to register (some SQL Saturday's charge a small optional fee for lunch). Here’s a little information about what you can expect from my session: PowerShell + SQL Server = Better Together As a SQL Server professional, are you able to make a rhyme or reason to this thing called PowerShell? Need to accomplish something? Do you Read more [...]