0%

0/1 Lessons

Course Introduction

• 5min

0 / 2 lessons complete

Getting Started with Windows PowerShell

• 56min

0 / 8 lessons complete

Getting Help and Finding Commands

• 39min

0 / 6 lessons complete

PowerShell Command Syntax

• 33min

0 / 5 lessons complete

PowerShell Objects and Properties

• 35min

0 / 6 lessons complete

The PowerShell Pipeline

• 24min

0 / 2 lessons complete

PowerShell Providers

• 30min

0 / 5 lessons complete

PowerShell Arrays and Variables

• 28min

0 / 4 lessons complete

PowerShell Loops

• 19min

0 / 3 lessons complete

PowerShell Conditional Statements

• 11min

0 / 1 lessons complete

On Premises Lab Setup

• 36min

0 / 8 lessons complete

Basic Domain Administration with Windows PowerShell

• 2hr 27min

0 / 10 lessons complete

Send Emails with PowerShell

• 22min

0 / 2 lessons complete

PowerShell Desired State Configuration (DSC) Basics

• 1hr 48min

0 / 6 lessons complete

PowerShell Modules

• 58min

0 / 7 lessons complete

Powershell Challenges

• 1hr 55min

0 / 23 lessons complete

Section Overview
Full Access Account Required

Video | 5 min

The Trusted Hosts List Challenge
Full Access Account Required

Text | 5 min

The Trusted Hosts List Answer
Full Access Account Required

Video | 5 min

Starting a Remote Session Challenge
Full Access Account Required

Text | 5 min

Starting a Remote Session Answer
Full Access Account Required

Video | 5 min

Rename a Computer Challenge
Full Access Account Required

Text | 5 min

Rename a Computer Answer
Full Access Account Required

Video | 5 min

Change a Password on a Remote Computer Challenge
Full Access Account Required

Text | 5 min

Change a Password on a Remote Computer Answer
Full Access Account Required

Video | 5 min

How to Copy Files To-From a Remote Machine Challenge
Full Access Account Required

Text | 5 min

How to Copy Files To-From a Remote Machine using VSC Answer
Full Access Account Required

Video | 5 min

How to Export Logs to a CSV File Challenge
Full Access Account Required

Text | 5 min

How to Export Logs to a CSV File Answer
Full Access Account Required

Video | 5 min

How to Create Multiple Folders on the Host Machine using Powershell
Full Access Account Required

Text | 5 min

How to Create Multiple Folders on the Host Machine using Powershell Answer
Full Access Account Required

Video | 5 min

Who Rebooted the Server ID1074 Challenge
Full Access Account Required

Text | 5 min

Who Rebooted the Server
Full Access Account Required

Video | 5 min

How can you get Info on all your Hard Drives Challenge
Full Access Account Required

Text | 5 min

How can you get Info on all your Hard Drives Answer
Full Access Account Required

Video | 5 min

How can I get a list of CPU's and Installed Printers, Last Boot-up Time Challenge
Full Access Account Required

Text | 5 min

How can I get a List of CPU's and Installed Printers, Last Boot-up Time Answer
Full Access Account Required

Video | 5 min

How can I Automate Tasks with Task Scheduler Challenge
Full Access Account Required

Text | 5 min

How can I Automate Tasks with the Task Scheduler Answer
Full Access Account Required

Video | 5 min

Course Conclusion

• 1min

0 / 1 lessons complete

The Pipeline Part 1

Instructions

Q&A (0)

Notes (0)

Resources (0)

Saving Progress...

Resources

There are no resources for this lesson.

Notes can be saved and accessed anywhere in the course. They also double as bookmarks so you can quickly review important lesson material.

Create note

In this lecture we’ll explore the pipeline, introduce some new commands and demonstrate  how we can use the pipeline to complete everyday tasks. We’ll also take a look at something new called parameter binding.

We’ll talk about:

  • What-if – With what-if, you can test your command before you try it.
  • Send output to a file using out-file. get-help *out-* Using out-file
  • Finally, we’ll talk about how PowerShell sends commands through the pipeline.

Let’s say we want to delete some files, but because we’re using wildcards, we don’t want to delete the wrong files. We can take the cautious approach and use the -whatif command.

Let’s open explorer, go to our C drive

I have created a folder named Company with a subfolder named HR. I have created several txt files within each folder. 

  • The goal is to delete all the files in HR and Company without deleting any of the other files or folders on my c drive.

First, I’ll type the command then explain it

  • Type Get-ChildItem C:\Company\*.txt -Recurse | Remove-Item -WhatIf

Get-childitem – Is like using dir command

I created two folders C:\Company and C:\Company\HR 

*.txt – The files to look for

-Recurse – tells PowerShell to Search Subdirectories, here’s our pipe operator.

Remove-item – Equivalent to delete

-whatif – Test but won’t complete our command. Press Return.

Here we see whatif performing a test operation on these targets.

Now let’s type the same command but this time we’ll use the -confirm parameter

  • Get-ChildItem C:\Company\*.txt -Recurse | Remove-Item -confirm

PowerShell will ask you to confirm the deletion of each text file.

Or we could go ahead and say Yes to all, and it will delete all the files. And we see that all our text files are gone.

Now let’s check out the out-file command.

  • We’re going to write the contents of our application log out to a file named app.txt
  • Type get-eventlog -logname application | out-file c:\app.txt. press return

Now let’s go to windows explorer and lets open the file in notepad. And as you can see there is the contents of the application log.

What command in PowerShell can we use to look at the contents of the application log file.

  • Type get-help *content* Press return, and we see that there is a get-content command
  • Type get-content -path c:\app.txt press return. And our application log is displayed on the screen.
  • Take a look at the headings, nice and neat.

Let’s go a little deeper into the pipeline. First let’s review

  • The pipeline is used for connecting commands together
  • Using the pipeline, we can pass the output of one command to the input of another command.
  • The pipeline operator symbol can be found on most keyboards by holding down the shift key and pressing the key right above the enter key.

So how does PowerShell know which commands will work together on the pipeline?

This time we’ll use get-service.

  • Go ahead and type get-service -name bits | Stop-service press return
  • BITS is the Background intelligent Transfer service. It is used to transfer files between computers.
  • Get-service is command #1
  • Stop-service is Command #2

  So, what actually happens when I run this command. 

Get-service (1st command) is producing an object and then that object will go across the pipeline. Stop-service which is the 2nd command will connect to that object by mapping it to a parameter.

So how does PowerShell know what parameters to choose?

Server Academy Members Only

Sorry, this lesson is only available to Server Academy Full Access members. Become a Full-Access Member now and you’ll get instant access to all of our courses.

0 0 votes
Lesson Rating
Subscribe
Notify of
profile avatar
0 Comments
Inline Feedbacks
View all comments