Are you sure you want to cancel your subscription?

If you cancel, your subscription will remain active through the paid term. You will be able to reactivate the subscription until that date.

Sorry to see you go

Your subscription will remain active until . If you change your mind, you may rectivate your subscription anytime before that date.

Are you sure you want to reactivate?
Welcome Back!

Your subscription has been reactivated and you will continue to be charged on .

Reactivate Subscription

Thank you for choosing to reactivate your subscription. In order to lock in your previous subscription rate, you owe: .

Your Subscription term is from - .

Questions? Call Sales.

Payment Due:

Auto-Renew Subscription

To auto-renew your subscription you need to select or enter your payment method in "Your Account" under Manage Payments.

Click continue to set up your payments.

CBT Nuggets License Agreement

Unless otherwise stated all references to “training videos” or to “videos” includes both individual videos within a series, entire series, series packages, and streaming subscription access to CBT Nuggets content. All references to CBT or CBT Nuggets shall mean CBT Nuggets LLC, a Delaware limited liability company located at 44 Country Club Road, Ste. 150, Eugene, Oregon.

A CBT Nuggets license is defined as a single user license. Accounts may purchase multiple users, and each user is assigned a single license.

  • GRANT OF LICENSE. CBT Nuggets grants you a non-transferable, non-exclusive license to use the training videos contained in this package or streaming subscription access to CBT content (the “Products”), solely for internal use by your business or for your own personal use. You may not copy, reproduce, reverse engineer, translate, port, modify or make derivative works of the Products without the express consent of CBT. You may not rent, disclose, publish, sell, assign, lease, sublicense, market, or transfer the Products or use them in any manner not expressly authorized by this Agreement without the express consent of CBT. You shall not derive or attempt to derive the source code, source files or structure of all or any portion of the Products by reverse engineering, disassembly, decompilation or any other means. You do not receive any, and CBT Nuggets retains all, ownership rights in the Products. The Products are copyrighted and may not be copied, distributed or reproduced in any form, in whole or in part even if modified or merged with other Products. You shall not alter or remove any copyright notice or proprietary legend contained in or on the Products.
  • TERMINATION OF LICENSE. Once any applicable subscription period has concluded, the license granted by this Agreement shall immediately terminate and you shall have no further right to access, review or use in any manner any CBT Nuggets content. CBT reserves the right to terminate your subscription if, at its sole discretion, CBT believes you are in violation of this Agreement. CBT reserves the right to terminate your subscription if, at its sole discretion, CBT believes you have exceeded reasonable usage. In these events no refund will be made of any amounts previously paid to CBT.
  • DISCLAIMER OF WARRANTY AND LIABILITY. The products are provided to you on an “as is” and “with all faults” basis. You assume the entire risk of loss in using the products. The products are complex and may contain some nonconformities, defects or errors. CBT Nuggets does not warrant that the products will meet your needs, “expectations or intended use,” that operations of the products will be error-free or uninterrupted, or that all nonconformities can or will be corrected. CBT Nuggets makes and user receives no warranty, whether express or implied, and all warranties of merchantability, title, and fitness for any particular purpose are expressly excluded. In no event shall CBT Nuggets be liable to you or any third party for any damages, claim or loss incurred (including, without limitation, compensatory, incidental, indirect, special, consequential or exemplary damages, lost profits, lost sales or business, expenditures, investments, or commitments in connection with any business, loss of any goodwill, or damages resulting from lost data or inability to use data) irrespective of whether CBT Nuggets has been informed of, knew of, or should have known of the likelihood of such damages. This limitation applies to all causes of action in the aggregate including without limitation breach of contract, breach of warranty, negligence, strict liability, misrepresentation, and other torts. In no event shall CBT Nuggets’ liability to you or any third party exceed $100.00.
  • REMEDIES. In the event of any breach of the terms of the Agreement CBT reserves the right to seek and recover damages for such breach, including but not limited to damages for copyright infringement and for unauthorized use of CBT content. CBT also reserves the right to seek and obtain injunctive relief in addition to all other remedies at law or in equity.
  • MISCELLANEOUS. This is the exclusive Agreement between CBT Nuggets and you regarding its subject matter. You may not assign any part of this Agreement without CBT Nuggets’ prior written consent. This Agreement shall be governed by the laws of the State of Oregon and venue of any legal proceeding shall be in Lane County, Oregon. In any proceeding to enforce or interpret this Agreement, the prevailing party shall be entitled to recover from the losing party reasonable attorney fees, costs and expenses incurred by the prevailing party before and at any trial, arbitration, bankruptcy or other proceeding and in any appeal or review. You shall pay any sales tax, use tax, excise, duty or any other form of tax relating to the Products or transactions. If any provision of this Agreement is declared invalid or unenforceable, the remaining provisions of this Agreement shall remain in effect. Any notice to CBT under this Agreement shall be delivered by U.S. certified mail, return receipt requested, or by overnight courier to CBT Nuggets at the following address: 44 Club Rd Suite 150, Eugene, OR 97401 or such other address as CBT may designate.

CBT Nuggets reserves the right, in its sole discretion, to change, modify, add, or remove all or part of the License Agreement at any time, with or without notice.

Billing Agreement

  • By entering into a Billing Agreement with CBT Nuggets, you authorize CBT Nuggets to use automatic billing and to charge your credit card on a recurring basis.
  • You agree to pay subscription charges on a monthly basis, under the following terms and conditions:
    • CBT Nuggets will periodically charge your credit card each monthly billing cycle as your subscription charges become due;
    • All payments are non-refundable and charges made to the credit card under this agreement will constitute in effect a "sales receipt" and confirmation that services were rendered and received;
    • To terminate the recurring billing process and/or arrange for an alternative method of payment, you must notify CBT Nuggets at least 24 hours prior to the end of the monthly billing cycle;
    • You will not dispute CBT Nugget’s recurring billing charges with your credit card issuer so long as the amount in question was for periods prior to the receipt and acknowledgement of a written request to cancel your account or cancel individual licenses on your account.
  • You guarantee and warrant that you are the legal cardholder for the credit card associated with the account, and that you are legally authorized to enter into this recurring billing agreement.
  • You agree to indemnify, defend and hold CBT Nuggets harmless, against any liability pursuant to this authorization.
  • You agree that CBT Nuggets is not obligated to verify or confirm the amount for the purpose of processing these types of payments. You acknowledge and agree that Recurring Payments may be variable and scheduled to occur at certain times.
  • If your payment requires a currency conversion by us, the amount of the currency conversion fee will be determined at the time of your payment. You acknowledge that the exchange rate determined at the time of each payment transaction will differ and you agree to the future execution of payments being based on fluctuating exchange rates.

CBT Nuggets reserves the right, in its sole discretion, to change, modify, add, or remove all or part of the Billing Agreement at any time, with or without notice.

PowerShell 3 Foundations

Course Duration: 07:14:10
A brief outline of this series, along with information on setting up your own PowerShell lab environment. You'll also find URLs for the series' online companion content and other useful learning resources.
Meet PowerShell
Get some of the first PowerShell "gotchas" out of the way, decide which experience you'll use to access PowerShell, and learn about some of the most common initial points of confusion.
Using the Help System
The single most important PowerShell skill is being able to use its help system, and you'll learn all of the tricks, ins, and outs for doing so.
Running Commands
Start getting used to PowerShell's syntax and terminology, and learn a variety of ways to run both internal and external commands.
Working with Providers
PowerShell's system of providers is an important part of the shell's extensibility and management approach - and too few classes spend any time teaching you this critical technology! Learn everything there is to know about providers and how to use them in a variety of situations.
The Pipeline: Connecting Commands
Learn how PowerShell's pipeline, when properly used, can often eliminate the need for long, complex scripts. Focus on importing and exporting data, converting data to different output forms, and more.
Adding Commands
PowerShell was designed for extensibility, and the ability to add commands is what lets it connect to, and manage, so many different technologies. Learn how this works, and how to discover for yourself what commands you have to work with.
Objects: Just Data by Another Name
You need to get in-sync with some PowerShell terminology in order to continue, as well as learn some tricks for letting PowerShell teach you about the data it knows how to work with.
The Pipeline, Deeper
Mastering the PowerShell pipeline is the best way to become a shell expert. Learn how data is passed between commands, and how you can manipulate that process to achieve your administrative goals.
Formatting, and Why it's Done on the Right
Learn to take the output of any PowerShell command and create beautiful (well, good) looking output for the screen, printer, or text file - and learn the "gotchas" that trip people up the most!
Filtering and Comparisons
Learn to focus on exactly the data you want to see by filtering it right within the pipeline.
Remote Control: One on One, and One to Many
Learn the basics of PowerShell's incredible Remoting, the technology that makes managing a hundred servers as easy as managing just one.
Using Windows Management Instrumentation
Learn about WMI - and its new cousin, CIM - and how they provide access to a wealth of management information through PowerShell.
Multitasking with Background Jobs
Get PowerShell to do several things at once using its integrated jobs mechanism. You'll learn about many types of jobs, including scheduled and WMI jobs, to give you maximum flexibility and functionality.
Working with Bunches of Objects, One at a Time
PowerShell is all about batch management - doing something to several targets in just one action. Sometimes that means having PowerShell repeat some task over and over against a bunch of targets - and you'll learn how to do that.
Security Alert
This short Nugget will focus on PowerShell's security system for scripting, including recommendations and under-the-hood details of how it all works.
Variables: A Place to Store Your Stuff
As you start doing more with PowerShell, you'll need to become familiar with variables, a way of temporarily storing data in-memory and re-using it in numerous ways.
Input and Output
You'll often need to write scripts that interact with human beings, and PowerShell offers a few ways to do that. Not all of them are good, though - so you'll learn what to do, and when, and how to stick with the "PowerShell way" to get maximum reusability from your creations.
Sessions: Remote Control with Less Work
Learn how to create persistent, reusable Remoting connections, store them in variables, and manage them.
You Call This Scripting?
Start with a command and turn it into a parameterized, reusable script that can be easily distributed to, and used by, your less-technical colleagues.
Improving Your Parameterized Script
Take your scripts to the next level by adding mandatory parameters, validating input, adding verbose output, and more.
Additional Tips, Tricks, and Techniques
A roundup of additional things you'll find useful, including profiles, more operators, string and date manipulation, and more.

No Bookmarks

THIS COURSE WILL RETIRE May 1, 2014. See updated PowerShell training from Don Jones in the Windows PowerShell v2-v3-v4 Ultimate Training course.

This PowerShell video training with Don Jones covers the latest version of Microsoft’s task automation framework, including using the help system, formatting, scripting, and more

Recommended skills:
  • Experience using previous versions of PowerShell

Recommended equipment:
  • Microsoft PowerShell version 3

Related certifications:
  • Not applicable

Related job functions:
  • IT professionals

Ready to learn Windows PowerShell? Learn from the best: Microsoft MVP award recipient Don Jones, author of "Learn Windows PowerShell 3 in a Month of Lunches," presents a video training series that will help you master PowerShell's foundations with absolutely zero prior experience.

Using a friendly, approachable style and a carefully planned outline, Don introduces you to PowerShell's ins and outs, one piece at a time. With a focus on teaching you how to use PowerShell to actually teach yourself, you'll become "immediately effective" in just a few short lessons, and start exploring some of PowerShell's high-end capabilities. Full of clear demonstrations and advice for avoiding the most common pitfalls and "gotchas," this is the perfect way to learn Microsoft's new command-line and scripting technology.


00:00:00 - Windows PowerShell Foundations.
00:00:03 - Hi, I'm Don Jones.
00:00:04 - And in this series, I'm going to teach you how to use
00:00:07 - Windows PowerShell, even if you have got no experience
00:00:10 - whatsoever in command line shells, or scripting, or
00:00:14 - programming.
00:00:15 - You don't need any of it.
00:00:16 - You know the saying, if you give a man a fish he'll eat
00:00:19 - for a day, but if you teach a man to fish, he'll depopulate
00:00:22 - an entire ocean ecosystem in just two generations?
00:00:25 - Well, we're going to go for the latter approach.
00:00:28 - I'm not only going to teach you how to use PowerShell, I'm
00:00:30 - going to teach you how to use it to teach yourself how to
00:00:33 - accomplish real administrative tasks in PowerShell.
00:00:37 - Let me show you how we're going to do it.
00:00:39 - We'll start with this introduction, where I'm also
00:00:41 - going to give you some information on what kind of
00:00:44 - lab environment you might want to set up, so that you can
00:00:46 - kind of follow along and practice the things that
00:00:48 - you're learning.
00:00:49 - Then we'll jump right in, and I'll let you meet PowerShell,
00:00:52 - show you how to use the help system, get right into
00:00:55 - actually running commands, show you how
00:00:58 - to worked with providers.
00:00:59 - And providers are something that a lot of people overlook
00:01:02 - when they're learning PowerShell, and I'm not going
00:01:04 - to let that happen to you.
00:01:06 - Then we will start diving into the PowerShell pipeline, part
00:01:09 - of what makes it such a unique shell and management tool.
00:01:13 - Show you how to add some commands, get some terminology
00:01:16 - straight with objects, dive deeper into the pipeline, once
00:01:20 - we've kind of gotten that under your belt.
00:01:22 - Talk about formatting your output, make it nice and
00:01:25 - pretty, and how to filter information out of the
00:01:28 - pipeline, so that your results only contain the exact data
00:01:31 - that you need them to contain.
00:01:34 - Then it'll be on to remote control, and the various ways
00:01:37 - to use those technologies, using Windows Management
00:01:40 - Instrumentation.
00:01:42 - We'll talk about getting partial multitasking with
00:01:44 - background jobs, and focus on working with bunches of things
00:01:48 - in a single operation with working
00:01:50 - with bunches of objects.
00:01:53 - Then we're going to start tiptoeing into the world of
00:01:55 - actual scripting, sort of lightweight programming.
00:01:58 - And before we do that, we need to cover a
00:02:00 - few security concerns.
00:02:02 - We'll also talk about variables, how to display
00:02:05 - output and retrieve input from users.
00:02:07 - We'll kind of circle back to remote control, and talk about
00:02:10 - remote control sessions.
00:02:12 - That's going to utilize variables, which is why we
00:02:14 - kind of need to do it in this order.
00:02:17 - And then if you picked this up thinking it was going to be a
00:02:19 - scripting course, think again, because we're mainly going to
00:02:22 - be running commands from the command line.
00:02:23 - But once we've perfected those commands,
00:02:27 - you call this scripting?
00:02:28 - We're going to actually re-use those commands, and make some
00:02:31 - tools that could be distributed to our colleagues.
00:02:34 - And then we'll improve on those a little bit, add some
00:02:36 - maturity, and some neat little things to them.
00:02:39 - And then we'll wrap up with just some additional tips,
00:02:41 - tricks, and random techniques.
00:02:44 - Now, I suggest you set up a little lab environment for
00:02:47 - yourself, so that as you're learning new things, you can
00:02:49 - practice them.
00:02:50 - And as we go, I'll try and give you some ideas for things
00:02:52 - you might want to practice on your own.
00:02:55 - As far as what you need in that lab, 100% of what you're
00:02:58 - going to learn can be accomplished on Windows 8, or
00:03:02 - Windows Server 2012.
00:03:04 - If you happen to have access to Windows Server 2012, set it
00:03:06 - up as a domain controller, if possible.
00:03:09 - Now, I'm assuming you already know how to do that.
00:03:11 - If you don't, don't sweat it.
00:03:13 - Or you can hop on Google, or Bing, and find out a pretty
00:03:16 - quick set of tutorials to get a domain
00:03:18 - controller up and running.
00:03:20 - Now, if you don't have those latest versions of Windows,
00:03:23 - about 90% of what you're going to see can also be done as is
00:03:28 - in Windows Server 2008 R2 after you've installed
00:03:32 - PowerShell version three, which is a free download from
00:03:34 -
00:03:36 - If you don't even have that, and all you've got to play
00:03:38 - with is a Windows 7 computer, that's fine.
00:03:41 - About 80% of the examples I'm going to show will work on
00:03:44 - Windows 7 once you've installed Powershell version
00:03:47 - three, which again, is a free download from
00:03:52 - 100% of what I'm going to show you is applicable to all of
00:03:55 - these, it's just some of the examples I'm going to show you
00:03:58 - to illustrate the different techniques rely on features
00:04:01 - that are only in the newer versions of Windows.
00:04:04 - So that's why you kind of get a declining thing.
00:04:06 - Now, if you're on XP, stop right here.
00:04:09 - We are going to be talking about Powershell version
00:04:11 - three, and it doesn't run on XP, so you are going to have
00:04:14 - to get something that was made within, I don't
00:04:16 - know, the last decade.
00:04:18 - Bring things up to something new, so that
00:04:20 - you can play along.
00:04:21 - Now, if you want, you can check out a company called
00:04:25 -
00:04:26 - They make a pretty inexpensive, cloud based
00:04:29 - virtualization environment where they'll let you spin up
00:04:31 - virtual machines in whatever version of Windows you want
00:04:34 - to, so that you can get a cloud based virtual
00:04:37 - environment to play with.
00:04:38 - They're not available in all countries, and there is a fee
00:04:41 - associated with it if you use it past the trial period, but
00:04:44 - it's an option for you.
00:04:45 - Or, if you've got access to a hyper-v server, just download
00:04:49 - a Microsoft VHD test drive image.
00:04:51 - That's a fully installed, ready to go Windows operating
00:04:55 - system that you can play with for as long as you want to.
00:04:59 - You just need to be able to drop it onto a hyper-v server,
00:05:02 - which you can also get free of charge from
00:05:04 - Microsoft, if you need to.
00:05:06 - Just a few online resources that I want you to keep in
00:05:09 - mind as you kind of go throughout this series.
00:05:11 - If you get stuck any time in PowerShell, not just with
00:05:14 - this, but if you get stuck any time, there's a couple of
00:05:16 - great websites you can go to to get
00:05:18 - your questions answered.
00:05:19 - and, I
00:05:23 - recommend them both.
00:05:24 - If you're looking for some more reading, you'd like to
00:05:26 - take your PowerShell skills a little bit further, check out
00:05:29 -
00:05:30 - It's a great and growing kind of curated book review, book
00:05:34 - recommendation site.
00:05:35 - The next one's real important.
00:05:37 - If you'd like some formal, hands on labs to go along with
00:05:41 - the Nuggets that you're about to watch, go to
00:05:43 -
00:05:45 - Click on the cover title, Learn Windows PowerShell 3 In
00:05:49 - A Month Of Lunches, and in downloads section, you'll find
00:05:52 - a lab guide, sample lab answers.
00:05:55 - You'll find a bunch of other free downloadable stuff that
00:05:58 - just kind of helps reinforce some of the things you'll be
00:06:01 - learning throughout these Nuggets.
00:06:02 - It's all free.
00:06:02 - You don't have to register for any of it.
00:06:04 - It's all there just for the taking.
00:06:06 - And finally, if you'd like to connect with me, looking up on
00:06:09 - Twitter, @concentrateddon.
00:06:11 - With that said, it is time to jump in and do some
00:06:14 - PowerShell.
00:06:15 - Let's go.

Meet PowerShell

Using the Help System

Running Commands

Working with Providers

The Pipeline: Connecting Commands

Adding Commands

Objects: Just Data by Another Name

The Pipeline, Deeper

Formatting, and Why it's Done on the Right

Filtering and Comparisons

Remote Control: One on One, and One to Many

Using Windows Management Instrumentation

Multitasking with Background Jobs

Working with Bunches of Objects, One at a Time

Security Alert

Variables: A Place to Store Your Stuff

Input and Output

Sessions: Remote Control with Less Work

You Call This Scripting?

Improving Your Parameterized Script

Additional Tips, Tricks, and Techniques

This forum is for community use – trainers will not participate in conversations. Share your thoughts on training content and engage with other members of the CBT Nuggets community. 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
Community Standards

We encourage you to share your wisdom, opinions, and questions with the CBT Nuggets community. To keep things civil, we have established the following policy.

We reserve the right not to post comments that:
contain obscene, indecent, or profane language; contain threats or defamatory statements; contain personal attacks; contain hate speech directed at race, color, sex, sexual orientation, national origin, ethnicity, age, religion, or disability; contributes to a hostile atmosphere; or promotes or endorses services or products. Non-commercial links, if relevant to the topic, are acceptable. Comments are not moderated, however, all comments will automatically be filtered for content that might violate our comment policies. If your comment is flagged by our filter, it will not be published.

We will be continually monitoring published comments and any content that violates our policies will be removed. Users who repeatedly violate our comments policy may be prohibited from commenting.
Don Jones

Don Jones

CBT Nuggets Trainer

Microsoft MCSE, MCITP

Area of Expertise:
Windows Server, PowerShell, VBScript, Exchange Server, SQL Server, IIS, Visual Studio / .NET Framework, Mac (particularly interop on a Windows network), security/identity management, virtualization (including VDI), network infrastructure management. Author of more than 30 books, including: Windows PowerShell: TFM; VBScript, WMI, and ADSI Unleashed; Managing Windows with VBScript and WMI; Learn Windows PowerShell 3 in a Month of Lunches; Learn PowerShell Toolmaking in a Month of Lunches; and PowerShell in Depth: An Administrator's Guide.

Course Features

Speed Control

Play videos at a faster or slower pace.


Pick up where you left off watching a video.


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

Closed Captions

Follow what the trainers are saying with ease.

MP3 Downloads

Listen to videos anytime, anywhere
Your browser cannot access Virtual Labs
Add training to a playlist
or create a new list
Add to current playlist
or add to an existing list
Add to new playlist