Thursday 18 June 2015

9 useful PowerShell tools

 Microsoft's mighty Windows administration framework gets even better with the help of these tools and materials. Almost all are free; the one for-fee tool is well worth the cost.

Why PowerShell?
Ah, PowerShell. A simple blue window and some text has transformed the world of Windows administration from a point-and-click GUI to scripts that automate everything, as well as provide log rotation and identity lifecycle management and which server receives which updates.

With everything in the newest versions of Windows Server accessible primarily via PowerShell and only secondarily (and sometimes even not at all) via the server's GUI, PowerShell knowledge has become a must. Sometimes, though, it is difficult to know whether you are proceeding correctly. Luckily, there are other resources available that will help speed you along in your training and your professional responsibilities.

In this slideshow, I will highlight 9 resources for immersing yourself in the PowerShell world. Whether you're writing scripts, working in a DevOps-oriented environment or administering software from vendors other than Microsoft using PowerShell, there is something for everyone in this group of resources. And best of all -- they are all free, save for one excellent paid product.

What are you waiting for? Let's dive in.

Dell PowerGUI
Presumably left over from Dell's 2012 acquisition of Quest, PowerGUI is a visual complement to PowerShell. It makes assembling scripts and getting things done in PowerShell as simple as selecting cmdlets that are appropriate for your task and then dragging them into place. Perfect for those who are new to PowerShell but have a basic grasp of its concepts, PowerGUI is an easy-to-use script editor that will probably advance your understanding of assembling more complex and advanced scripts quicker than anything else -- especially if you are a visual learner.

Perhaps the most useful features of PowerGUI are the Power Packs: Pre-built scripts that have been open-sourced by the user community and made available to other PowerGUI users. These range from adding users to managing switches; they can be customized and further improved upon, or simply baked into whatever script you are currently writing, saving the time it would take you to reinvent the wheel.

There was once a paid edition of PowerGUI with more advanced features, but that edition was rolled up into the freeware product. PowerGUI does not seem to have been updated for a while, but that does not make it any less useful, and since it is freeware, you have nothing to lose by adding it to your arsenal.

Sapien Technologies PowerShell Studio 2015
More advanced PowerShell developers and administrators need more advanced tooling, and PowerShell Studio 2015 from Sapien is the first place to look. When you first open PowerShell Studio, you are immediately reminded of Visual Studio and for good reason: PowerShell Studio is as much an integrated scripting environment as Visual Studio is an integrated development environment (IDE).

Features include: Ribbon, remote debugging support, compiler features that let you turn scripts into executable files, support for multiple versions of PowerShell (useful for targeting scripts to different servers running different levels of the Windows Server operating system), source control for checking in and out script code and support for multiple developers. All of which make this an obvious choice for shops where administrators and developers work together on building advanced PowerShell scripts to handle a variety of scenarios.

At $389 per license, it is a little pricey. But considering all of the product's functionality, if you live in this part of the PowerShell world, it is well worth the cost of admission.

Amazon AWS Tools for Windows PowerShell
It's not just Microsoft that is jumping on the PowerShell bandwagon; even a competitive cloud service like Amazon Web Services recognizes that (a) Windows Server is huge, (b) lots of administrators are learning PowerShell, and (c) anything that lets administrators manage Amazon services more easily increases the likelihood that an Amazon server will stick in any given enterprise. Thus the AWS Tools for Windows PowerShell were born.

With AWS Tools for Windows PowerShell, you can manage virtual machines and service instances that are running in the Elastic Compute Cloud (EC2), or write scripts that automate the management of any workloads you have running in a variety of Amazon services. The tools install a bunch of cmdlets into your Windows PowerShell "sphere of influence" and let you manage and script tasks like backing up data from virtual machines in EC2 to the Simple Storage Service (S3) or logging and publishing metrics to the Amazon CloudWatch personal dashboard.

If you know PowerShell and you use Amazon cloud services, these tools will be a great addition.

Microsoft Script Browser for Windows PowerShell ISE
The problem: You want to do something in PowerShell. You know your outcome. But you do not know how to get there and, further, you have a sneaking suspicion that someone, somewhere out there on the Internet has already figured it out and probably would tell you for free. What if there were this free magic tool that would scour the TechNet Script Center -- probably the most authoritative source for PowerShell scripts on Earth right now -- and find scripts that purport to do what you need? That is exactly what Microsoft Script Browser claims to do.

It also includes a built-in Script Analyzer function that will read through your scripts and suggest improvements or changes to make based upon scripting best practices.

This tool plugs right into the Windows PowerShell Integrated Scripting Environment, which you get for free as part of Windows. You might need to install the feature on Windows client machines, but it should be installed by default as part of the basic Windows Server image.

Adam Driscoll's PowerShell Tools for Visual Studio
If you are more on the "dev" side of DevOps, then you probably use Visual Studio as one of your tools of choice. While Visual Studio has a lot going for it, it does not do a lot with PowerShell out of the box. That is where Adam Driscoll's PowerShell Tools for Visual Studio project comes in.

This project integrates within Visual Studio, brings syntax highlighting and colors to the IDE, and adds IntelliSense support for automatically completing syntax elements like variables, cmdlets and arguments as you type within a Visual Studio window. It also extends options for configuring Visual Studio projects so you can keep your scripting efforts organized and together, extends support for scripting arguments with the MS Build compiler and supports script debugging via breakpoint and breakpoint pane support. It also extends some testing features with Pester and PSate test adapters.

All in all, this is a free set of resources for making Visual Studio more PowerShell savvy. If you like this after downloading it, consider throwing Mr. Driscoll a few bucks for his efforts.

Microsoft Windows PowerShell Web Access, via Control Panel
PowerShell Web Access is like webmail but for PowerShell cmdlets. You log into a webpage that presents a Web-based console where you can run cmdlets, perform operations and do simple remote administration tasks right over the Internet. There's no need for PowerShell, extensions or cmdlets to be installed on the machine you are browsing with.

This means that yes, you can run PowerShell operations from your iPad if you have this feature enabled.
Best of all, it is free with a Windows Server license and is built right in. I do not see this in use a lot, but I think it is very handy. As the saying goes, "You might not need this until you need it, but when you do end up needing it, you need it very badly."

Be careful, though, as opening this facility up to users outside your network is just an invitation for security problems. Restrict access to the PowerShell Web Access site in IIS to only IP addresses local to your corporate network. Or even better, restrict that access to a few workstations on your local network and perhaps a static VPN address you can use to perform administration tasks remotely.

Free. Windows feature, installed through Control Panel / Add and Remove Windows Features.

PowerShell Training via the Microsoft Virtual Academy
With great power comes the need for a lot of training. PowerShell is a capable language that can do so much. It marries scripting with development and .NET programming. It comes with a universe of cmdlets. It has its own syntax. And while I have (and will continue to) explain PowerShell basics training on Computerworld.com, those pieces just scratch the surface of all there is to know.

Fortunately, the Microsoft Virtual Academy contains hours of video training on getting to know PowerShell, using it and making the language work for you. These courses include information from stars such as the father of PowerShell, Jeffrey Snover, and distinguished technologists who have made (new) careers out of understanding every nook and cranny of PowerShell. Perfect for lunch hours.

Master-PowerShell, an ebook from Dr. Tobias Weltner
If you are a visual learner, then video training is the best way to learn PowerShell. For those of us more language inclined, we can learn from Microsoft MVP Dr. Tobias Weltner in his free ebook cleverly titled Master-PowerShell. Weltner covers a lot of ground in his book, including variables, arrays and hashtables, the pipeline, objects, conditions, loops, functions, scripts, error handling, scope, text and regular expressions. Also included: XML, administrative work using the file system, Registry, processes, services, event logs, WMI and users. He even includes a chapter on .NET and compiling for the developers among us.

The book is hosted by Idera, a popular administrative tool developer, and can be found over on the PowerShell.com site, which is a useful community resource in its own right.

VMware vSphere PowerCLI
Like Amazon, VMware has figured out that, in some respects, making nice with your competitors for the benefit of your mutual customers is not a bad thing. To that end, VMware created PowerCLI, a command line-based environment for managing VMware vSphere resources that integrates PowerShell throughout.

The PowerCLI environment is basically a bunch of cmdlets that interact with vSphere and vCloud, and also provides interfaces based on C# and PowerShell for the various APIs that are exposed by the VMware products. If you are a VMware shop and want to get your hands on PowerCLI, head over to this link. Is it not great when everyone plays nicely together in the sandbox?

Freeware, with a free cmdlet reference available.

Best Microsoft MCTS Certification, Microsoft MCITP Training at certkingdom.com

No comments:

Post a Comment