Windows PowerShell v2-v3-v4 Ultimate Training

Covers all current versions of Windows PowerShell

Total Videos : 90 Course Duration: 30 hours, 51 minutes, 07 seconds
1. Course Introduction and Lab Setup (00:08:15)
2. Windows PowerShell Orientation and Requirements (00:24:06)
3. Finding and Discovering Commands (00:23:51)
4. Interpreting Command Help (00:23:48)
5. Running Commands (00:26:51)
6. Working with PSProviders and PSDrives (00:17:55)
7. Variables, Strings, Hashtables, and Core Operators (00:24:37)
8. Regular Expression Basics (00:23:31)
9. Running External Commands: Tips and Tricks (00:11:13)
10. Learning the Pipeline: Exporting and Converting Data (00:23:55)
11. Understanding Objects in PowerShell (00:23:20)
12. Core Commands: Selecting, Sorting, Measuring, and More (00:27:17)
13. How the PowerShell Pipeline Works (00:35:11)
14. Formatting Command Output (00:19:43)
15. Comparison Operators and Filtering (00:17:25)
16. Advanced Operators (00:26:09)
17. Setting Default Values for Command Parameters (00:20:55)
18. Enumerating Objects in the Pipeline (00:16:53)
19. Soup to Nuts: Completing a New Task (00:19:01)
20. LAB A: PowerShell Core Review (00:27:06)
21. PowerShell Remoting Basics (00:45:41)
22. Persistent Remoting: PSSessions (00:14:14)
23. Implicit Remoting: Using Commands on Another Computer (00:22:24)
24. Advanced Remoting: Passing Data and Working with Output (00:27:07)
25. Advanced Remoting: Crossing Domain Boundaries (00:22:56)
26. Advanced Remoting: Custom Session Configurations (00:28:31)
27. Web Remoting: PowerShell Web Access (00:20:53)
28. LAB B: PowerShell Remoting Review (00:12:56)
29. WMI and CIM: WMI, Docs, and the Repository (00:23:28)
30. WMI and CIM: Using WMI to Commands Query Data (00:23:46)
31. WMI and CIM: Using CIM Commands to Query Data (00:25:44)
32. WMI and CIM: Filtering and WMI Query Language (00:20:22)
33. WMI and CIM: Associations (00:18:32)
34. WMI and CIM: Working with CIM Sessions (00:18:36)
35. WMI and CIM: Executing Instance Methods (00:22:23)
36. LAB C: WMI and CIM Review (00:11:35)
37. Background Job Basics: Local, WMI, and Remoting Jobs (00:18:59)
38. Scheduled Background Jobs (00:24:04)
39. LAB D: Jobs Review (00:10:05)
40. PowerShell Script Security (00:25:58)
41. Prompting for Input, Producing Output (00:17:40)
42. Creating Basic Parameterized Scripts (00:19:28)
43. PowerShell Scripting: Logical Constructs (00:22:37)
44. PowerShell Scripting: Looping Constructs (00:23:54)
45. PowerShell Scripting: Basic Functions, Filters, and Pipeline Functions (00:35:46)
46. PowerShell Scripting: Best Practices (00:17:47)
47. PowerShell Scripting: From Command to Script to Function to Module (00:14:15)
48. PowerShell Scripting: Scope (00:20:44)
49. PowerShell Scripting: Combining Data from Multiple Sources (00:16:29)
50. LAB E: PowerShell Scripting Review (00:13:01)
51. Advanced Functions: Adding Help (00:15:56)
52. Advanced Functions: Parameter Attributes (00:17:31)
53. Advanced Functions: Pipeline Input (00:16:36)
54. Advanced Functions: Parameter Sets (00:18:54)
55. LAB F: Advanced Functions Review (00:22:35)
56. Creating Private Utility Functions and Preference Variables (00:16:07)
57. Adding Error Capturing and Handling to a Function (00:20:09)
58. Advanced Error Handling (00:26:36)
59. Error Handling the Old Way: Trap (00:08:55)
60. Debugging Techniques (00:32:01)
61. Creating Custom Formatting Views (00:25:52)
62. Creating Custom Type Extensions (00:21:33)
63. Working with SQL Server (and other) Databases (00:40:30)
64. Working with XML Data Files (00:29:55)
65. Supporting –WhatIf and –Confirm in Functions (00:13:08)
66. Troubleshooting and Tracing the Pipeline (00:16:37)
67. Using Object Hierarchies for Complex Output (00:17:44)
68. Creating a Proxy Function (00:19:13)
69. LAB G: Advanced Scripting Review (00:16:17)
70. From the Field: Enhanced HTML Reporting (00:43:11)
71. From the Field: Trend Analysis Reporting (00:18:10)
72. From the Field: Scraping HTML Pages (00:09:25)
73. Introduction to PowerShell Workflow (00:36:16)
74. Desired State Configuration: The Basics (00:14:50)
75. Desired State Configuration: Configuration Scripts and Pull Servers (00:37:13)
76. Desired State Configuration: Writing Resources (00:25:05)
77. Controller Scripts: Automating Business Processes (00:10:10)
78. Controller Scripts: A Menu of Tools (00:09:46)
79. Creating a GUI Tool: The GUI (00:10:03)
80. Creating a GUI Tool: The Code (00:11:38)
81. Creating a GUI Tool: The Output (00:15:18)
82. Creating a GUI Tool: Using Data Tables (00:08:02)
83. LAB H: Automating a Business Process (00:07:16)
84. Globalizing a Function or Script (00:11:55)
85. Discovering and Using COM Objects (00:10:11)
86. Discovering and Using .NET Classes and Instances (00:14:44)
87. Using Type Accelerators (00:12:28)
88. The Big Gotchas in PowerShell (00:23:11)
89. Fun With Profiles (00:18:31)
90. Random Tips and Tricks (00:26:38)
This PowerShell video training course with Don Jones covers everything an administrator can do with any current version of PowerShell.

Related are of expertise:
  • PowerShell

Recommended skills:
  • Familiarity with general Windows and Microsoft server administration

Recommended equipment:
  • Two virtual machines running a Windows client and server OS

Related certifications:
  • None

Related job functions:
  • Scripting and automation
  • DevOps
  • Client and server management

Finally, it’s the Windows PowerShell class you’ve always wanted — Covering every version of PowerShell, this course by Don Jones clearly explains the differences between each version currently used in production environments and covers literally EVERYTHING an administrator might want to do with the shell.

Start from absolute zero, and learn to use the shell as it was meant to be used. Advance into scripting and “toolmaking,” learning to make command-line and graphical tools from scratch. Move into advanced, real-world, field-proven topics such as reporting, trend analysis, and more. Learn super-advanced features like workflow and Desired State Configuration. You’ll even find topics that go beyond the shell, such as using Component Object Model and .NET Framework classes in the shell.

It’s one course, with EVERYTHING the shell touches. Encompassing more than 30 HOURS of instruction, combined with self-paced hands-on labs (and video lab reviews), this is the ultimate class for learning Windows PowerShell.

Course Introduction and Lab Setup

00:00:00 - Hi my name is Don Jones.
00:00:02 - And this is the ultimate class for Windows PowerShell,
00:00:05 - covering every version that you might have in production.
00:00:08 - This Nugget is your series introduction.
00:00:10 - And I'll also cover some information
00:00:12 - about what you'll need if you want
00:00:13 - to follow along and do your own lab.
00:00:17 - Now, this series is a little bit different from many of the CBT
00:00:20 - Nugget series that you may be familiar with.
00:00:22 - For one, this one is huge.
00:00:24 - I've actually broken it down into a number
00:00:26 - of different sections.
00:00:27 - And each section has several different Nuggets
00:00:30 - that contribute to that.
00:00:31 - You can look at the Nugget names and you'll
00:00:33 - be able to see these same session titles.
00:00:36 - For example, I guess, let's start
00:00:37 - with where we are right now, which is PowerShell Core.
00:00:41 - So this is going to cover some of the main stuff
00:00:44 - that you need to know to make PowerShell useful.
00:00:46 - And then we're going to get into PowerShell Remoting.
00:00:47 - Now that, I think, is one of the coolest things
00:00:49 - you can do with PowerShell.
00:00:51 - The ability to reach out from one computer
00:00:54 - and manage multiple other computers simultaneously
00:00:57 - in parallel.
00:00:59 - Closely related to that, we've got Windows Management
00:01:01 - Instrumentation and CIM, the common Information Model,
00:01:04 - a way of collecting management information, and in some cases
00:01:07 - making changes to it.
00:01:09 - We'll also talk about background jobs.
00:01:10 - Getting PowerShell doing more than one thing for you.
00:01:13 - And then, we'll finally dive into actual scripting.
00:01:17 - And this is where PowerShell starts
00:01:18 - to become a little bit like a programming
00:01:20 - language I guess you could say.
00:01:22 - And we're going to start automating
00:01:23 - entire processes that way.
00:01:25 - Now, a key part of that are these things
00:01:27 - called Script commandlets, at least that's what I call them,
00:01:30 - what some folks call them.
00:01:31 - They're officially called advanced functions.
00:01:34 - They're a great way of building your scripts
00:01:36 - in a way that makes them look and smell
00:01:38 - and feel and taste just like a real PowerShell command.
00:01:42 - Then we'll get into some advanced scripting techniques,
00:01:44 - take things a little bit further.
00:01:46 - And this is a great section, this
00:01:48 - is what I call PowerShell in the field.
00:01:50 - It's a chance to take all the things we've done up
00:01:52 - to that point and use them in some really production
00:01:56 - appropriate ways to accomplish some real tasks using
00:02:00 - all that stuff.
00:02:02 - Then we're going to start really ramping
00:02:04 - into some of PowerShell's more advanced features,
00:02:06 - including workflow and desired state configuration.
00:02:10 - We're also going to have a section I call writing scripts
00:02:12 - for other people.
00:02:14 - Now, this is when you're writing a script,
00:02:16 - but you really want to create it as a tool.
00:02:19 - In fact, I use the word tool making
00:02:20 - instead of scripting because you want
00:02:22 - to write a script that someone else can consume without really
00:02:26 - knowing much about what happens inside.
00:02:28 - And then we'll wrap up this series with a huge section
00:02:32 - on advanced core techniques, tips, and tricks.
00:02:35 - So we definitely have got a massive range of things
00:02:38 - to cover.
00:02:39 - Pretty much everything an administrator
00:02:41 - can do with Windows PowerShell is
00:02:44 - going to be done in this series.
00:02:46 - Now, one of the things I'm going to throw
00:02:48 - at you with each section, and sometimes
00:02:50 - in the middle of sections, is a hands on lab.
00:02:53 - I'm actually going to give you written lab instructions
00:02:56 - for a task that I want you accomplish.
00:02:58 - And then I'll take an entire Nugget
00:02:59 - and set it aside to go over how I
00:03:02 - think I would accomplish that particular task.
00:03:05 - That doesn't mean what you do is wrong
00:03:07 - if it's different from mine.
00:03:08 - It's just a way of giving you a variety of perspectives.
00:03:11 - But to do that, you're going to need
00:03:13 - some kind of lab environment to work with.
00:03:15 - At a minimum, I recommend you have a Windows 8
00:03:20 - or later client computer to work with.
00:03:23 - Now, if you want to kind of go back and forth
00:03:25 - between the different versions of PowerShell,
00:03:27 - then you're going to need multiple different client
00:03:30 - computers work with.
00:03:31 - That's why I've also got a Windows 7 computer over here
00:03:33 - that I'm going to be able to play with.
00:03:36 - Now, some of the stuff we're going to do really, really
00:03:38 - does plan to servers.
00:03:39 - So let me outline my entire lab environment here.
00:03:42 - I'm starting with the domain controller.
00:03:44 - And I've got as I said, a Windows 8 client
00:03:47 - computer, and a Windows 7 client computer.
00:03:49 - I've also got a member server.
00:03:51 - So this domain, LAB.PRI has got four different computers in it.
00:03:57 - It has a forest trust, a two way forest
00:03:59 - trust with a completely separate forest call REMOTE.PRI, which
00:04:03 - simply has a domain controller in it.
00:04:05 - And there's also another forest, which
00:04:07 - has no trust with anybody, it's very untrusting,
00:04:10 - called FOREIGN.PRI, which also has a domain controller in it.
00:04:15 - Most of this complexity is here for when
00:04:17 - we start talking about Windows PowerShell remoting.
00:04:20 - Because going across forests and to untrusted forests
00:04:24 - is where things get interesting and complex with remoting.
00:04:27 - So from a day-to-day lab perspective,
00:04:29 - you certainly don't need all of this.
00:04:31 - You could get by with a single test
00:04:34 - domain that has a domain controller and a client
00:04:37 - computer.
00:04:37 - You could get by with just a client computer,
00:04:39 - but if you really want to play around,
00:04:42 - have that domain controller too.
00:04:44 - Now, there's a few different ways you could build this out.
00:04:46 - Obviously, if you've got a copy Windows 8,
00:04:49 - it's got hyper-v built right into it.
00:04:51 - So if you've got hardware that's capable of running hyper-v
00:04:54 - on Windows 8, I'll just spin up a couple virtual machines.
00:04:57 - In fact, you can go to Microsoft's website
00:04:59 - and if you do a little Google search or Bing
00:05:01 - search for VHD test drive, you're
00:05:05 - going to find some pre-installed virtual machines that you can
00:05:11 - download and run in hyper-v. And that'll give you a domain
00:05:14 - controller, it can give you a client computer.
00:05:16 - And you won't have to do much to set it up.
00:05:18 - Alternately, if you want to set everything from scratch,
00:05:21 - you can download the trial versions, the e valve versions
00:05:24 - of both the client operating system,
00:05:27 - and the server operating system.
00:05:29 - I'm not going to show you how to promote
00:05:30 - a domain controller or anything.
00:05:32 - If you're kind of coming in here,
00:05:33 - you should already be at that level of admin.
00:05:35 - You should know how to build yourself a domain controller
00:05:37 - and know how to get the OS's installed.
00:05:40 - So it's a couple ways to do it.
00:05:41 - If you live in countries where it's available,
00:05:43 - there's another service you might
00:05:44 - look into called Cloud Share.
00:05:50 - They have a trial period that you can use.
00:05:52 - It's not a very expensive service.
00:05:54 - You'd have to pay for it if you want to use it.
00:05:56 - But essentially, it'll let you build up
00:05:58 - to six virtual machines in a Cloud.
00:06:01 - And they don't run them all the time
00:06:03 - and that's one of the reasons they're fairly inexpensive.
00:06:05 - This isn't like building something in an Azure or Amazon
00:06:08 - Web Services.
00:06:09 - They're actually going to let you spin up from templates.
00:06:12 - So they've already got pre created domain controllers
00:06:14 - and client computers and all that.
00:06:16 - So you can very, very quickly get a lab environment up
00:06:18 - and running.
00:06:19 - You access it via a little web viewer browser thing
00:06:24 - that they give you.
00:06:24 - You can also again in by a remote desktop of course.
00:06:27 - And that's going to be a great way to get a lab up
00:06:29 - and running that you can access from anywhere.
00:06:31 - It does cost a little bit, so it's something to check in to.
00:06:33 - But I wanted to make sure you had several different options
00:06:36 - to work with in terms of getting a lab going.
00:06:38 - And again, you're going to be able to do
00:06:40 - most of what I'm showing you with just a client computer.
00:06:44 - You don't need anything more than that.
00:06:47 - Certainly gets more interesting when
00:06:48 - you have more computers to play with.
00:06:50 - And you'll be able to practice a wider varieties of things.
00:06:53 - But don't feel that you're going to be left out if all you
00:06:55 - can get your hands on is a client computer.
00:06:59 - Our PowerShell to do list is not going
00:07:01 - to get any shorter just sitting here yapping.
00:07:03 - But before we go on to the real meat of this,
00:07:05 - I want to point out the methodology I'm going to use.
00:07:08 - In every one of the upcoming Nuggets,
00:07:10 - I'm going to start with version two of Windows PowerShell.
00:07:13 - There's a lot of folks who are using that in production
00:07:15 - and they will probably be around for a while.
00:07:17 - Now, version two runs on Windows XP or later on the client OS.
00:07:21 - And on the server side it's Windows Server 2003 and later.
00:07:25 - Then, toward the end of each Nugget,
00:07:27 - I'll cover what was new, or changed.
00:07:29 - And usually it's just new in version three, which
00:07:32 - is available for Windows 7 and later,
00:07:34 - and Windows Server 2008 and later.
00:07:36 - And after that, I'll cover what's new or changed.
00:07:38 - Again, mostly new in version 4, which is Windows 7 and later,
00:07:42 - and Windows Server 2008 R2 and later.
00:07:46 - That way no matter what version of PowerShell you're using
00:07:49 - or if you're in a mixed environment,
00:07:50 - you'll be completely clear on what happens in each version.
00:07:55 - What you can do in version three that you
00:07:57 - couldn't do in version two.
00:07:58 - And there won't be any confusion about the version
00:08:00 - back and fourth stuff.
00:08:01 - So I think by laying it out that way,
00:08:03 - you'll be able to stay on track, understand
00:08:05 - what's going to work in your environment,
00:08:06 - and what you might be limited to if you're using an older
00:08:09 - version of Windows PowerShell.
00:08:12 - OK that's all the preliminaries.
00:08:13 - So let's get started.

Windows PowerShell Orientation and Requirements

Finding and Discovering Commands

Interpreting Command Help

Running Commands

Working with PSProviders and PSDrives

Variables, Strings, Hashtables, and Core Operators

Regular Expression Basics

Running External Commands: Tips and Tricks

Learning the Pipeline: Exporting and Converting Data

Understanding Objects in PowerShell

Core Commands: Selecting, Sorting, Measuring, and More

How the PowerShell Pipeline Works

Formatting Command Output

Comparison Operators and Filtering

Advanced Operators

Setting Default Values for Command Parameters

Enumerating Objects in the Pipeline

Soup to Nuts: Completing a New Task

LAB A: PowerShell Core Review

PowerShell Remoting Basics

Persistent Remoting: PSSessions

Implicit Remoting: Using Commands on Another Computer

Advanced Remoting: Passing Data and Working with Output

Advanced Remoting: Crossing Domain Boundaries

Advanced Remoting: Custom Session Configurations

Web Remoting: PowerShell Web Access

LAB B: PowerShell Remoting Review

WMI and CIM: WMI, Docs, and the Repository

WMI and CIM: Using WMI to Commands Query Data

WMI and CIM: Using CIM Commands to Query Data

WMI and CIM: Filtering and WMI Query Language

WMI and CIM: Associations

WMI and CIM: Working with CIM Sessions

WMI and CIM: Executing Instance Methods

LAB C: WMI and CIM Review

Background Job Basics: Local, WMI, and Remoting Jobs

Scheduled Background Jobs

LAB D: Jobs Review

PowerShell Script Security

Prompting for Input, Producing Output

Creating Basic Parameterized Scripts

PowerShell Scripting: Logical Constructs

PowerShell Scripting: Looping Constructs

PowerShell Scripting: Basic Functions, Filters, and Pipeline Functions

PowerShell Scripting: Best Practices

PowerShell Scripting: From Command to Script to Function to Module

PowerShell Scripting: Scope

PowerShell Scripting: Combining Data from Multiple Sources

LAB E: PowerShell Scripting Review

Advanced Functions: Adding Help

Advanced Functions: Parameter Attributes

Advanced Functions: Pipeline Input

Advanced Functions: Parameter Sets

LAB F: Advanced Functions Review

Creating Private Utility Functions and Preference Variables

Adding Error Capturing and Handling to a Function

Advanced Error Handling

Error Handling the Old Way: Trap

Debugging Techniques

Creating Custom Formatting Views

Creating Custom Type Extensions

Working with SQL Server (and other) Databases

Working with XML Data Files

Supporting –WhatIf and –Confirm in Functions

Troubleshooting and Tracing the Pipeline

Using Object Hierarchies for Complex Output

Creating a Proxy Function

LAB G: Advanced Scripting Review

From the Field: Enhanced HTML Reporting

From the Field: Trend Analysis Reporting

From the Field: Scraping HTML Pages

Introduction to PowerShell Workflow

Desired State Configuration: The Basics

Desired State Configuration: Configuration Scripts and Pull Servers

Desired State Configuration: Writing Resources

Controller Scripts: Automating Business Processes

Controller Scripts: A Menu of Tools

Creating a GUI Tool: The GUI

Creating a GUI Tool: The Code

Creating a GUI Tool: The Output

Creating a GUI Tool: Using Data Tables

LAB H: Automating a Business Process

Globalizing a Function or Script

Discovering and Using COM Objects

Discovering and Using .NET Classes and Instances

Using Type Accelerators

The Big Gotchas in PowerShell

Fun With Profiles

Random Tips and Tricks

Please help us improve by sharing your feedback on training courses and videos. For customer service questions, please contact our support team. The views expressed in comments reflect those of the author and not of CBT Nuggets. We reserve the right to remove comments that do not adhere to our community standards.

comments powered by Disqus

Course Features

Speed Control

Play videos at a faster or slower pace.

Bookmarks

Pick up where you left off watching a video.

Notes

Jot down information to refer back to at a later time.

NuggetLab

Files/materials that supplement the video training

Offline Training

Our mobile apps offer the ability to download videos and train anytime, anywhere offline.

Accountability Coaching

Develop and maintain a study plan with assistance from coaches.

Share

Stay Connected

Get the latest updates on the subjects you choose.


  © 2014 CBT Nuggets. All rights reserved. Licensing Agreement | Billing Agreement | Privacy Policy | RSS