Project Description

Dates/Times
On-Demand, Video-based
Register

OD10961: Automating Administration with Windows PowerShell

Course Description

Learn how with Windows PowerShell 4.0, you can remotely manage multiple Windows based servers and automate day to day management and administration tasks.  

The course is built on Windows Server 2012 R2 and Windows 8.1 and while it is specifically focused on Windows PowerShell v4.0, is also relevant in v2.0 and v3.0 Windows PowerShell environments  

This course provides students with the fundamental knowledge and skills to use Windows PowerShell 4.0 for administering and automating administration of Windows based servers. It focuses on primary Windows PowerShell command-line features and techniques, and will provide pre-requisite skills supporting a broad range of Microsoft products, including Windows Server, Windows Client, Exchange Server, SharePoint Server, SQL Server, System Center, and more. In keeping with that goal, this course will not focus on any one of those products, although Windows Server (which is the common platform for all of those) will serve as the example for the techniques being taught.  

In this course, you will learn to execute and monitor scripts more efficiently through more robust session connectivity, workflow capabilities, enhanced job scheduling, and Windows PowerShell Web Access. Learn Windows PowerShell with greater ease through improved cmdlet discovery and simplified, consistent syntax across all cmdlets. Write Windows PowerShell scripts quicker and more intuitively through the new Integrated Scripting Environment (ISE) that enables script sharing, which connects IT pros to a larger Windows PowerShell user community. Learn all this and more in this five-day Microsoft Official Course in Windows PowerShell 4.0. 

Course Objectives  

After completing this course, students will be able to:  

  • Understand the basic concepts behind Windows PowerShell  
  • Work with the Pipeline  
  • Understand How the Pipeline Works  
  • Use PSProviders and PSDrives  
  • Format Output  
  • Use WMI and CIM  
  • Prepare for Scripting  
  • Moving from a Command to a Script to a Module  
  • Administer Remote Computers  
  • Put the various Windows PowerShell components together  
  • Use Background Jobs and Scheduled Jobs  
  • Use Advanced PowerShell Techniques and Profiles  

Audience  

This course is intended for IT Professionals already experienced in general Windows Server and Windows Client administration or already experienced in administering and supporting Application servers and services including applications like Exchange, SharePoint, and SQL. It is broadly intended for students who want to use Windows PowerShell to automate administrative tasks from the command line, using any Microsoft or independent software vendor (ISV) product that supports Windows PowerShell manageability.  

This course is not intended to be a scripting or programming course, and includes only basic coverage of scripting and programming topics. Students are not expected to have prior scripting or programming experience, and are not expected to have prior Windows PowerShell experience  

Prerequisites   

Before attending this course, students must have:  

  • Previous Windows Server and Windows Client management knowledge and hands on experience 
  • Experience installing and configuring Windows Server into existing enterprise environments, or as standalone installations 
  • Knowledge and experience of network adapter configuration, basic Active Directory user administration, and basic disk configuration 
  • Knowledge and hands on experience specifically with Windows Server 2012/Windows Server 2012 R2 and Windows 8/Windows 8.1 would be of benefit but is not essential 

Course Outline  

Module 1: Formatting Output  

In this module students, will learn to manipulate command output to create customized on-screen, text file, and hardcopy results  

Lessons  

  • Using Basic Formatting  
  • Using Advanced Formatting  
  • Redirecting Formatted Output  

Lab: Formatting Output  

  • Use Formatting cmdlets to customize those cmdlets output 

After completing this module, students will be able to:  

  • Use Basic Formatting  
  • Use Advanced Formatting  
  • Redirect Formatted Output  

Module 2: Using WMI and CIM  

In this module, students will learn to use Windows Management Instrumentation / Common Information Model (WMI/CIM) to retrieve, and in some cases, modify management information about local and remote computers.  

Lessons  

  • Understanding WMI/CIM  
  • Querying Data with WMI/CIM 
  • Making Changes with WMI/CIM  

Lab: Working with WMI and CIM  

  • Locate and Query WMI Classes to retrieve Management Information 

After completing this module, students will be able to:  

  • Understand WMI/CIM  
  • Query Data with WMI/CIM  
  • Make Changes with WMI/CIM  

Module 3: Prepare for Scripting  

In this module, students will learn about pre-requisite features to writing PowerShell scripts, including variables and PowerShell’s scripting security features.  

Lessons  

  • Using Variables  
  • Scripting Security  
  • Working with Alternate Credentials  

Lab: Working with Security in PowerShell  

  • Configure Execution Policy  
  • Create and Use Alternate Credentials  

After completing this module, students will be able to:  

  • Use Variables  
  • Script Security  
  • Work with Alternate Credentials  

Module 4: Getting Started with Windows PowerShell  

In this module, students will learn a bit about PowerShell’s purpose and history, and will learn the basics of using the shell, including the help system, command syntax, command discovery and more.  

Lessons  

  • Overview and Background  
  • Finding and Running Commands  

Lab: Configuring Windows PowerShell  

  • Configure the console application  
  • Configure the ISE Application  
  • Finding and Running Basic commands  

Lab: Finding and Running Basic Commands  

  • Configure the console application  
  • Configure the ISE Application  
  • Finding and Running Basic commands  

After completing this module, students will be able to:  

  • Understand Windows PowerShell basic concepts  
  • Find and Run basic Windows PowerShell commands  

Module 5: Working with the Pipeline  

In this module, students will learn to use PowerShell’s pipeline, along with a number of new commands, to start retrieving, manipulating, and displaying data. An emphasis is placed on proper syntax and form.  

Lessons  

  • Working with the Pipeline  
  • Exporting, Importing and Converting Data  
  • Filtering Objects Out of the Pipeline  
  • Enumerating Objects in the Pipeline  

Lab: Working with the Pipeline  

  • Retrieve data, manipulate objects and customize the final display  
  • Import, Export and convert data within Windows PowerShell  
  • Filter Objects Out of the Pipeline  
  • Examine Several Commands and Predict Their Output  
  • Enumerate Objects in the Pipeline and perform specific tasks 

Lab: Exporting, Importing and Converting Data  

  • Retrieve data, manipulate objects and customize the final display  
  • Import, Export and convert data within Windows PowerShell  
  • Filter Objects Out of the Pipeline  
  • Examine Several Commands and Predict Their Output  
  • Enumerate Objects in the Pipeline and perform specific tasks  

Lab: Filtering Objects Out of the Pipeline  

  • Retrieve data, manipulate objects and customize the final display  
  • Import, Export and convert data within Windows PowerShell  
  • Filter Objects Out of the Pipeline  
  • Examine Several Commands and Predict Their Output  
  • Enumerate Objects in the Pipeline and perform specific tasks  

Lab: Enumerate Objects in the Pipeline  

  • Retrieve data, manipulate objects and customize the final display  
  • Import, Export and convert data within Windows PowerShell  
  • Filter Objects Out of the Pipeline  
  • Examine Several Commands and Predict Their Output  
  • Enumerate Objects in the Pipeline and perform specific tasks  

After completing this module, students will be able to:  

  • Work with the Pipeline  
  • Export, Import and Convert data  
  • Filter Objects out of the Pipeline  
  • Enumerate Objects in the Pipeline  

Module 6: Understanding How the Pipeline Works  

In this module, students will learn the underlying details of how commands are passed from one command to another in the pipeline. Having seen it in action, they’ll now get to see some of the theory under the hood. The emphasis will be in the ByValue and ByPropertyName techniques, with demonstrations that illustrate effective uses of each. Students will also learn techniques that can be used in lieu of pipeline binding, for when such binding is unavailable or ineffective.  

Lessons  

  • Passing Data in the Pipeline ByValue  
  • Passing Data in the Pipeline ByPropertyName  

Lab: Working with Pipeline Parameter Binding  

  • Examine Several Commands and Predict Whether or Not They Will Work as Written  
  • Construct new Commands that Utilize Pipeline Parameter Binding  

After completing thing module, students will be able to: 

  • Pass Data in the Pipeline ByValue  
  • Pass Data in the Pipeline ByPropertyName  

Module 7: Using PSProviders and PSDrives  

In this module, students will learn about PSProviders and PSDrives, and learn to use –Item* commands to manipulate items within a PSDrive 

Lessons  

  • Understanding PSProviders and PSDrives  
  • Using PSDrives  

Lab: PSProviders and PSDrives  

  • Using PSProviders and PSDrives  

After completing this module, students will be able to:  

  • Use PSProviders and PSDrives  

Module 8: Moving From a Command to a Script to a Module  

In this module, students will learn to take a command that runs well in the console, and turn it into a reusable script. A number of important concepts, such as error handling, will be introduced – but not explored in extreme depth. Students will be taught enough to be “immediately effective” with these concepts, but not given an exhaustive education. The point is to get them started in an effective fashion using best practices, and to give them a basis for further independent exploration.  

Lessons  

  • Moving from Command to Script  
  • Moving from Script to Function to Module  
  • Implementing Basic Error Handling  
  • Using Basic Scripting Constructs  
  • Further Exploration in Scripting  

Lab: Moving from Command to Script  

  • Convert a Functioning command into a parameterized Script  
  • Encapsulate a Script into a Function, Turn the script into a Module and add debugging  
  • Add Basic Error Handling capabilities to a Script  
  • Add a function to a Script  

Lab: Implementing Basic Error Handling  

  • Convert a Functioning command into a parameterized Script  
  • Encapsulate a Script into a Function, Turn the script into a Module and add debugging  
  • Add Basic Error Handling capabilities to a Script  
  • Add a function to a Script  

Lab: Adding Logic to a Script  

  • Convert a Functioning command into a parameterized Script  
  • Encapsulate a Script into a Function, Turn the script into a Module and add debugging  
  • Add Basic Error Handling capabilities to a Script  
  • Add a function to a Script  

Lab: Moving from Script to Function to Module  

  • Convert a Functioning command into a parameterized Script  
  • Encapsulate a Script into a Function, Turn the script into a Module and add debugging  
  • Add Basic Error Handling capabilities to a Script  
  • Add a function to a Script  

 After completing this module, students will be able to: 

  • Move from Command to Script  
  • Move from Script to Function to Module 
  • Implement Basic Error Handling  
  • Use Basic Scripting Constructs  
  • Understand Advanced functions and Scripting Constructs  

Module 9: Administering Remote Computers  

In this module, students will learn how to configure and use PowerShell Remoting  

Lessons  

  • Using Basic Remoting  
  • Using Remote Sessions  
  • Using Remoting for Delegated Administration  

Lab: Remoting for Delegated Administration  

  • Enable Remoting  
  • Remotely Manage Machines  
  • Import a Module from a Remote Machines  
  • Establish and Use Connections with several computers  
  • Create and Register a Custom Session Configuration  
  • Test the Custom Session Configuration  

Lab: Working with Remoting  

  • Enable Remoting  
  • Remotely Manage Machines  
  • Import a Module from a Remote Machines  
  • Establish and Use Connections with several computers  
  • Create and Register a Custom Session Configuration  
  • Test the Custom Session Configuration  

Lab: Working with PSSessions  

  • Enable Remoting  
  • Remotely Manage Machines  
  • Import a Module from a Remote Machines  
  • Establish and Use Connections with several computers  
  • Create and Register a Custom Session Configuration  
  • Test the Custom Session Configuration  

After completing this module, students will be able to:  

  • Use Basic Remoting  
  • Use Remote Sessions  
  • Use Remoting for Delegated Administration  

Module 10: Putting it All Together  

In this module, students will utilize much of what they’ve learned to this point in a practical, from scratch-exercise to configure a newly-installed Server Core computer.  

Lessons  

  • Planning the Script  

Lab: Configuring a New Server Core Installation  

  • Determine Server Cores IP Address  
  • Add Server Core Computers IP Address to local TrustedHosts list  
  • Add the Server Core Computer to a Domain and Configure a DHCP reservation  
  • Add Specified Roles and features to the Server Core Computer  

After completing this module, students will be able to:  

  • Plan your Windows PowerShell Script  
  • Configure Server Core computers using Windows PowerShell  

Module 11: Using Background Jobs and Scheduled Jobs  

In this module, students will learn to create and manage background jobs and scheduled jobs.  

Lessons  

  • Using Background Jobs  
  • Using Scheduled Jobs  

Lab: Working with Background Jobs  

  • Start Background Job 
  • Manage Existing Jobs  
  • Create, run and retrieve data using Scheduled Jobs  

Lab: Working with Scheduled Jobs  

  • Start Background Job 
  • Manage Existing Jobs  
  • Create, run and retrieve data using Scheduled Jobs  

Module 12: Using Advanced PowerShell Techniques and Profiles  

In this module, students will learn several additional techniques and feature of Windows PowerShell.  

Lessons  

  • Using Advanced PowerShell Techniques  
  • Creating Profile Scripts  

Lab: Practicing Advanced Techniques  

  • Practice Advanced Techniques  
  • Create a Profile Script that defines several parameter defaults  

After completing this module, students will be able to:  

  • Use Advanced PowerShell Techniques  
  • Create Profile Scripts