Putting PowerShell to Work

Once you have a grasp on PowerShell fundamentals and some basic terminology under your belt, you'll need those skills to put PowerShell to work. This course is aimed to providing the context you need to put PowerShell to work from the PS prompt.
Course info
Rating
(29)
Level
Beginner
Updated
Aug 29, 2017
Duration
4h 6m
Table of contents
Course Overview
Introduction
Extending the Shell
Understanding Objects
Objects and the Pipeline
The Pipeline in Depth
PowerShell Formatting
PowerShell Background Jobs
What's Next?
Description
Course info
Rating
(29)
Level
Beginner
Updated
Aug 29, 2017
Duration
4h 6m
Description

So, you've been reading blog posts, searching the Internet, and running commands in PowerShell, although you really don't understand what you are running or why it works the way it does. In this course, Putting PowerShell to Work, you'll learn how to build your skills to be a more efficient PowerShell user. First, you'll discover how to use PowerShell effectively from a command prompt. Next, you'll explore how objects work in the pipeline with cmdlets. Finally, you'll gain an understanding of how PowerShell’s formatting system works, and why. By the end of this course, you'll have the necessary knowledge to begin making PowerShell work effectively for you. Software required: Windows 10 system.

About the author
About the author

Jeffery Hicks is a Microsoft MVP in Windows PowerShell and an IT veteran with many years of experience, much of it spent as an IT consultant specializing in Microsoft server technologies with an emphasis in automation and efficiency.

More from the author
Automation with PowerShell Scripts
Beginner
2h 55m
Mar 26, 2018
PowerShell on the Network
Beginner
3h 43m
Dec 15, 2017
More courses by Jeff Hicks
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone, my name is Jeff Hicks, and I wanted to welcome you to my new Pluralsight training course, Putting PowerShell to Work. This course is the next in my series on PowerShell fundamentals. In it, I want to get you working with PowerShell, and get PowerShell to work for you. The focus is on using PowerShell effectively from the command prompt. Now this is a critical part of your PowerShell education. If you don't understand this material, you'll never be able to be a good PowerShell scripter. This means you need to understand how the PowerShell pipeline works, and how to use it to your advantage. You need to understand how objects behave in the pipeline. You need to know how to leverage parameter binding. You need to know how to use PowerShell's formatting system. I'll even show you how to work with PowerShell background jobs. I'll cover all of these topics and much, much more. You'll find my course, as most of them are, full of live demo with plenty of samples to get you going, often with real-world and practical examples. I hope you're ready to put PowerShell to work. Let me show you how with my latest course from Pluralsight, Putting PowerShell to Work.

Extending the Shell
Hey there, and welcome back to my Pluralsight course on Putting PowerShell to Work. This is the module where we will look at extending the shell and adding commands, and doing more with PowerShell. Now you might wonder, where do commands come from? Where does this like Get-Service, and Get-Process or Get-ADComputer, where do those things live? Where do they come from? How do I get them into PowerShell? Well, fortunately, unlike the early days of PowerShell, you really don't have to worry too much about this or think too much about this. PowerShell includes kind of, out-of-the-box if you will, hundreds of commands, that you can use. As soon as you know the command, you can open up PowerShell and start typing the command, and you can use them. In addition, and this is where PowerShell really becomes helpful to your job, you can get a lot of additional commands through third-party vendors, through people that you do business with, people who provide software to you, they may have a PowerShell component to their product, so you can manage whatever it is that you're using with PowerShell. Other Microsoft teams also have PowerShell cmdlets for working with their products, things like SQL or SharePoint, so you can get additional commands to do your job. What you need to know, though, is how are these packaged, or delivered to your PowerShell session. These are packaged as either something we we call a snap-in, or a module, and I'm briefly going to talk about these before I get into the demonstration.

Understanding Objects
Welcome back to our next lesson at Putting PowerShell to Work. Again, my name is Jeff Hicks, and today's lesson, I want to show you how to work with objects. This is probably one of the most important concepts in understanding and knowing how PowerShell works. If you struggle with this lesson, repeat it until it sinks in, because this is kind of a critical learning point here. If you don't get the content and the ideas I'm going to convey in this lesson, you will struggle with PowerShell, you will hate it, you will hate me, you will hate the world, you will hate your job, and I don't want that, and neither do you, so let's look at what it takes to work with PowerShell, and work with objects in the pipeline.

Objects and the Pipeline
Hello, and welcome back once again to my course here at Pluralsight on PowerShell putting it to Work. My name is Jeff Hicks, and today we have a module that I have called Objects and the Pipeline, where we are going to look at how PowerShell processes objects, and how you can take advantage of that. Now there are a few pipeline principles that I have kind of stressed over the modules so far, but let's reiterate them. Cmdlets, like Get-Process, write objects to the pipeline. So it gets a bunch of process objects, writes them to the pipeline. Other cmdlets, like Measure-Object, can take input from other cmdlets, like Get-Process, so we can have objects moving from one cmdlet to another through the pipeline, and then we repeat as needed. So I could pipe the result of the Measure-Object command out to Select-Object, and select a few properties, and so on. So we can have this long pipeline that objects are moving through the pipeline and PowerShell is doing its thing. Now there are some exceptions, though, to that paradigm, even though that is kind of the preferred way to work with PowerShell. So normally we just let the cmdlets do their thing, string things together in a pipeline expression. When you are managing things at scale, so you want to look at processes on a thousand computers, yeah, using a pipeline can be quite handy for that, although sometimes there are some exceptions to even that. And sometimes you'll find where, you know what, I don't want to just take a thousand processes, I need to do something with each individual process one at a time, or file objects, or an Active Directory user account, or a SQL database, some type of object that we're managing in PowerShell and you need to do something with it on an individual basis, and that's what we're going to look at here today.