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
Keep Your Skills Up to Date: New Training and Azure Resources
Finding better ways to upskill is a consistent topic that comes up when we talk to you about what’s top of mind. It’s no wonder when the one constant in our industry is change with new techniques, frameworks, tools, and languages emerging all the time. Developers by nature are extremely self-reliant when it comes to dealing with this change. Over 90% of the respondents on StackOverflow’s 2017 Developer Survey indicated that they were at least partially self-taught. Whether through coding boot camps, online courses, online forums/Q+A, or joining an OSS project, you are using a variety of ways to level up your ski...
The Latest in Developer Productivity and App Experiences
Whatever the language or platform, developers want the same thing - to create app experiences that are high-quality, intelligent and personalized. Experiences that delight users and keep them engaged. To do that, we need tools that increase our productivity, so that we spend more time on what matters most to our app's success. At Connect(); 2017 we are showcasing new tools and services that demonstrate Microsoft’s commitment to developer productivity and incredible app experiences. Visual Studio App Center – Build, Test, Deploy, Engage, Repeat. Today we announced the General Availability of Visual Studio App Cen...
Run and Debug Java 9 in Visual Studio Code
In the past 3 weeks, we’ve continued to see a lot of people installing and trying our tools, reading our documents, and visiting our repository. We’ve also seen a number of new issues opened by the Java community. Thank you all for trying our tools and providing feedback, all of which is motivating us to make VS Code a better tool for Java developer. With our new 0.3.0 release, we have added a few new capabilities and addressed your top feedback. Java 9 Support Java 9 was officially out just weeks after the initial release of our debugger. To allow more and more developers to try the new version of Java with VS C...
Visual Studio IDE extensions now published and managed at Marketplace
Consumers of Visual Studio IDE extensions visit Visual Studio Marketplace to discover and acquire extensions. But extension publishers visit Visual Studio Gallery to publish and manage their Visual Studio IDE extensions. Henceforth, extension publishing and management will also be in Marketplace. In this process, all extensions in Gallery will be automatically moved over to Marketplace. Marketplace now serves as a single place for extension publishers and consumers to publish, manage or acquire extensions. Benefits of publishers moving to Marketplace To publish and manage an exte...
Reverse Desired State Configuration: How it works
Nik Charlebois is a Premier Field Engineer based out of Canada. He is the author of several books on SharePoint automation, and he writes blog posts on a regular basis about all things PowerShell. You can find out more about his work here. ReverseDSC PowerShell Desired State Configuration (DSC) has been around for a few years now, and many organizations are using it to help them automate parts of their DevOPS pipeline. There are now several hundred DSC modules available in the PowerShell Gallery. This enables organizations to create a complex automation solution that allows them to manage, via DSC, different comp...
Use Docker to automate testing of PowerShell Core scripts
Summary: Learn the basics about Docker, and see how to use it for PowerShell Core script testing on different operating systems. I'm Dan Ward, a Boston-based .NET software engineer who is just plum crazy about PowerShell and automation. Earlier this year, I uploaded my first GitHub project—a PowerShell whitespace cleaner that also replaces aliases with commands and fixes casing issues. Like any manager of a new project, I was excited to see people using it and providing feedback and enhancement requests. But I became concerned when bug reports started coming in: "But I tested this on my machine before up...
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 events, with an attendee, from an owner's mailbox. Here are three examples: Remove-CalendarEvents -Identity chris@contoso.com -CancelOrganizedMeetings This example cancels every meeting in the mailbox chris@contoso.com that occurs on or after today...
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 with in your day-to-day tasks. By combining several lines of code into a single verb-noun cmdlet, it makes repeatable, mundane tasks much easier. In fact, once you have the hang of them, you could delegate them out to other team members with a few minutes of ...
Hey, Scripting Guy! update
Ed Wilson retired, but we are continuing his legacy of friendly tutorials on solving common problems. We will also help IT professionals expand their skill set beyond what might be their comfort zone. Examples of this include incorporating continuous integration/continuous deployment (CI/CD) tools into core infrastructure management, and hybrid cloud operations. Ed actively recruited contributors to submit new content. We are continuing that tradition by making "Hey, Scripting Guy!" a community effort. In the spirit of getting people started in the wide world of scripting for the cloud, we are asking that propo...