This course provides students with the fundamental knowledge and skills to use Windows PowerShell for administering and automating administration of Windows servers. This course provides students the skills to identify and build the command they require to perform a specific task. In addition, students learn how to build scripts to accomplish advanced tasks such as automating repetitive tasks and generating reports. This course provides prerequisite skills supporting a broad range of Microsoft products, including Windows Server, Windows Client, Microsoft Exchange Server, Microsoft SharePoint Server, Microsoft 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 products, will serve as the example for the techniques this course teaches.
Audience:
This course is intended for IT Professionals who are already experienced in general Windows Server and Windows Client administration, and who want to learn more about using Windows PowerShell for administration. No prior experience with any version of Windows PowerShell, or any scripting language, is assumed. This course is also suitable for IT Professionals already experienced in server administration, including Exchange Server, SharePoint Server, SQL Server, System Center, and others.
Prerequisites
- Experience with Windows networking technologies and implementation.
- Experience with Windows Server administration, maintenance, and troubleshooting.
- Experience with Windows Client administration, maintenance, and troubleshooting
- Students who attend this training can meet the prerequisites by obtaining equivalent knowledge and skills through practical experience as a Windows system administrator. No prerequisite courses are required.
At course completion
After completing this course, students will be able to:
- Describe the functionality of Windows PowerShell and use it to run and find basic commands.
- Identify and run cmdlets for server administration.
- Work with Windows PowerShell pipeline.
- Query system information by using WMI and CIM.
- Work with variables, arrays, and hash tables.
- Write basic scripts in Windows PowerShell.
- Write advanced scripts in Windows PowerShell.
Course Outline
Module 1: Getting started with Windows PowerShell
This module will introduce you to Windows PowerShell and provide an overview of the product’s functionality. The module shows you how to open and configure the shell for use and how to run commands within the shell. The module also introduces the built-in Help system in Windows PowerShell.
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 you to the cmdlets commonly used for administration. While you can search for cmdlets each time you need to accomplish a task, it is more efficient to have at least a basic understanding of the cmdlets available for system administration.
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 web site
Module 3: Working with the Windows PowerShell pipeline
This module introduces the pipeline feature of Windows PowerShell. Although the pipeline feature is included in several command-line shells such as the command prompt in the Windows operating system, the pipeline feature in Windows PowerShell provides more complex, more flexible, and more capable functionalities compared to other shells. This module provides you with the skills and knowledge that will help you use the shell more effectively and efficiently.
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 you to two parallel technologies: Windows Management Instrumentation (WMI) and Common Information Model (CIM). Both these technologies provide local and remote access to a repository of management information including access to robust information available from the operating system, computer hardware, and installed software.
Lessons
- Understanding WMI and CIM
- Querying data by using WMI and CIM
- Making changes with WMI/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 provides you the skills and knowledge required to use variables, arrays, and hash tables in Windows PowerShell.
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 shows you how to package a Windows PowerShell command in a script. Scripts allow you to perform repetitive tasks and more complex tasks than cannot be accomplished in a single command.
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 introduces you to more advanced techniques that you can use in scripts. These techniques includes gathering user input, reading input from files, documenting scripts with help information and error handling.
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