The “Hey, Scripting Guys!” blog has been retired. There are many useful posts in this blog, so we keep the blog here for historical reference. However, some information might be very outdated and many of the links might not work anymore.
New PowerShell content is being posted to the PowerShell Community blog where members of the community can create posts by submitting content in the GitHub repository.
Scripting Blog [archived]
Formerly known as the "Hey, Scripting Guy!" blog
Latest posts
PowerTip: Find Information about Started Virtual Machine
Summary: Use Windows PowerShell to find detailed information about a started virtual machine. I use the Start-VM cmdlet on my computer running Hyper-V, but how can I use Windows PowerShell to find more information about the virtual machine that actually starts? Use the –PassThru parameter to return a virtual machine information object. Store the returned object in a variable, and then use Windows PowerShell to parse that variable. Here is an example: $vm = Start-VM –name c1 –passthru...
The MVP Summit–Posting 1
Summary: Windows PowerShell MVPs, Teresa Wilson and Richard Siddaway, provide initial impressions fromthe MVP Summit. Hello everyone. This is Teresa. My flight was uneventful. Actually, it was better than uneventful because I was able to get upgraded. At least, my flight was only about five hours—and not like the 28 hours reported by some MVPs on Facebook. Well, I have been here in Seattle for a couple of days. I came a bit early so I could spend some time with friends. My flight in was largely uneventful, except that Dr. Scripto, who is traveling with me, got stopped at the airport. It happens to him a lot...
Use PowerShell to Start or Stop Virtual Machines in Order
Summary: Microsoft Scripting Guy, Ed Wilson, talks about using a Windows PowerShell workflow to start or stop virtual machines in a specific order. Microsoft Scripting Guy, Ed Wilson, is here. This morning I am sitting outside enjoying a beautiful fall day. I found a little coffee and tea shop nearby, so I am sitting outside sipping a nice cup of English Breakfast tea and munching an apple cinnamon scone. It is not too bad actually. Of course, the little coffee and tea shop has WiFi, so I have my Surface 3 Pro with me, and I am checking email sent to scripter@microsoft.com. I ran across an email from a perso...
PowerTip: Use PowerShell to Query Cluster Shared Volumes' Free Space
Summary: Learn how to use Windows PowerShell to query for free space in Cluster Shared Volumes. How can I use Windows PowerShell to find the free space in all my Cluster Shared Volumes for Hyper-V in Windows Server 2012 R2 or Windows Server 2012? Use the Get-ClusterSharedVolume cmdlet with the –Cluster parameter and your Hyper-V cluster name. Loop through each cluster shared volume and output a Windows PowerShell custom object to the pipeline. The foll...
Weekend Scripter: Simplify to Troubleshoot PowerShell Script
Summary: Microsoft Scripting Guy, Ed Wilson, helps an old friend fix his script. Microsoft Scripting Guy, Ed Wilson, is here. I am a big believer in simplicity. I enjoy simple things: a nice cup of hot tea, reading a good book, watching a sunset on the beach, taking a train ride through the Alps, or spending an evening conversing with friends. Simplicity is one of the things I like about Windows PowerShell. It can take a complex operation and make it simple. Desire State Configuration (DSC) is one such tool. When I see a Windows PowerShell script that is complex, I naturally begin to look at it to see if there ar...
PowerTip: Use PowerShell to Find Module to Import
Summary: Use Tab expansion in Windows PowerShell to find a module to import. I know I need the full name of a specific Windows PowerShell module to import it, but I am not sure of the complete name, and I do not want to do a lot of typing. The module exists in a known Windows PowerShell module location. How can I quickly find the module name? Use Tab expansion with the Import-Module cmdlet. You only need to know the first letter of the module, then you can tab through th...
Weekend Scripter: Announcing WMI Explorer 2.0
Summary: Microsoft senior support escalation engineer, Vinay Pamnani, talks about WMI Explorer 2.0. Microsoft Scripting Guy, Ed Wilson, is here. Today I am pleased to invite back Microsoft senior support escalation engineer, Vinay Pamnani, who supports Configuration Manager. He's here to talk about the latest edition of his WMI Explorer tool. Take it away Vinay... I’m excited to announce that WMI Explorer 2.0 is now available for download from CodePlex: WMI Explorer. Special thanks to Tim Helton for his guidance and support. Requirements: New features include: ...
PowerTip: Export Certificate by Using PowerShell
Summary: Learn how to use Windows PowerShell to export a certificate. How can I use Windows PowerShell to export a certificate? Use the Export-Certificate cmdlet and specify the file output destination. By default it will export a file of the type Cert. Here is an example: Export-Certificate -Cert (Get-Item Cert:\CurrentUser\My\3EF2) -FilePath c:\fso\mycert.cert
AutomatedLab Tutorial Series Part 6: Install Software and Run Custom Activities
Summary: Microsoft PFEs, Raimund Andree and Per Pedersen, explain how to customize your existing environment and install software to some or all machines in your lab. Microsoft Scripting Guy, Ed Wilson, is here. Today is Part 6 of a series written by Microsoft PFEs Raimund Andree and Per Pedersen. Read their previous posts here: In the previous blog posts, you learned how easy it is to create complex lab environments by using AutomatedLab. This post explains how to customize your existing environment and install software to some or all machines in the lab. Installation If you have a version of A...