This course provides IT professionals with essential knowledge and practical skills for using Windows PowerShell to administer and automate Windows server environments. You will learn to identify and construct the specific commands needed for particular administrative tasks, and you will develop proficiency in writing scripts for advanced operations such as task automation and report generation. The course establishes prerequisite competencies applicable across a broad spectrum of Microsoft products, including Windows Server, Windows Client, Microsoft Exchange Server, Microsoft SharePoint Server, Microsoft SQL Server, and System Center environments. While the course draws examples primarily from Windows Server as the foundational platform, the techniques and skills you acquire will transfer across multiple Microsoft product ecosystems.
Intended Audience
This course targets IT professionals who already possess experience administering Windows Server and Windows Client environments and who wish to deepen their proficiency through Windows PowerShell automation. No prior experience with Windows PowerShell or scripting languages is required. The course also benefits IT professionals currently working with server administration across Exchange Server, SharePoint Server, SQL Server, System Center, and related platforms.
Prerequisites
- Working knowledge of Windows networking technologies and their practical implementation
- Experience administering, maintaining, and troubleshooting Windows Server systems
- Experience administering, maintaining, and troubleshooting Windows Client systems
- Students may satisfy prerequisites through equivalent practical experience as a Windows system administrator, with no formal prerequisite courses required
Upon Course Completion
After completing this course, you will be able to:
- Describe Windows PowerShell functionality and execute basic commands and searches
- Identify and run cmdlets for common server administration tasks
- Apply Windows PowerShell pipeline functionality for data processing
- Extract system information using WMI and CIM technologies
- Manage variables, arrays, and hash tables in PowerShell scripts
- Write fundamental scripts that automate basic administrative tasks
- Write sophisticated scripts that implement advanced automation logic
Detailed Course Outline
Module 1: Getting started with Windows PowerShell
This module introduces Windows PowerShell and outlines its core functionality. You will learn how to launch and configure the shell, execute commands within the environment, and access the integrated Help system for reference and learning.
Lessons:
- Overview and background of Windows PowerShell
- Understanding command syntax
- Finding commands
- Lab: Configuring Windows PowerShell
- Configuring the Windows PowerShell console
- Configuring the Windows PowerShell ISE application
- Lab: Finding and running basic commands
- Finding commands
- Running commands
- Using the About files
Module 2: Cmdlets for administration
This module introduces commonly used cmdlets for administration tasks. Rather than searching for cmdlets each time you need to accomplish something, developing foundational knowledge of available administrative cmdlets improves your efficiency significantly.
Lessons:
- Active Directory administration cmdlets
- Network configuration cmdlets
- Other server administration cmdlets
- Lab: Windows Administration
- Creating and managing Active Directory objects
- Configuring network settings on Windows Server
- Creating a website
Module 3: Working with the Windows PowerShell pipeline
This module introduces the pipeline feature characteristic of Windows PowerShell. Although pipeline functionality appears in other command-line environments, Windows PowerShell's implementation offers greater complexity, flexibility, and capabilities. Mastering the pipeline enables significantly more effective and efficient shell usage.
Lessons:
- Understanding the pipeline
- Selecting, sorting, and measuring objects
- Filtering objects out of the pipeline
- Enumerating objects in the pipeline
- Sending pipeline data as output
- Lab: Using the pipeline
- Selecting, sorting, and displaying data
- Lab: Filtering objects
- Filtering objects
- Lab: Enumerating objects
- Enumerating objects
- Lab: Sending output to a file
- Exporting user information to a file
Module 4: Querying system information by using WMI and CIM
This module introduces Windows Management Instrumentation (WMI) and Common Information Model (CIM), two complementary technologies providing local and remote access to system management information. Both technologies grant access to extensive data regarding operating systems, computer hardware, and installed applications.
Lessons:
- Understanding WMI and CIM
- Querying data by using WMI and CIM
- Making changes with WMI and CIM
- Lab: Working with WMI and CIM
- Querying information by using WMI
- Querying information by using CIM
- Invoking methods
Module 5: Working with variables, arrays, and hash tables
This module develops the skills and knowledge necessary to work effectively with variables, arrays, and hash tables in Windows PowerShell scripting.
Lessons:
- Using variables
- Manipulating variables
- Manipulating arrays and hash tables
- Lab: Working with variables
- Working with variable types
- Using arrays
- Using hash tables
Module 6: Basic scripting
This module demonstrates how to package Windows PowerShell commands into reusable scripts. Scripts enable you to perform repetitive operations and accomplish complex tasks that exceed the capabilities of single commands.
Lessons:
- Introduction to scripting
- Scripting constructs
- Importing data from files
- Lab: Basic scripting
- Setting a script
- Processing an array with a ForEach loop
- Processing items by using If statements
- Creating a random password
- Creating users based on a CSV file
Module 7: Advanced scripting
This module covers sophisticated techniques applicable to script development. Covered techniques include gathering user input, reading from files, incorporating help documentation, and implementing error handling mechanisms.
Lessons:
- Accepting user input
- Overview of script documentation
- Troubleshooting and error handling
- Functions and modules
- Lab: Accepting data from users
- Querying disk information from remote computers
- Updating the script to use alternate credentials
- Documenting a script
- Lab: Implementing functions and modules
- Creating a logging function
- Adding error handling to a script
- Converting a function to a module