Share via


PowerShell Survival Guide

This article was formerly titled  "Automating IT Tasks with PowerShell Overview."**

Introduction and Getting Started

PowerShell is a vast product, especially when you take into account how it's used in other products such as Lync Server, Exchange, and the Windows Operating System. It can be a little daunting to those new with PowerShell - there is a vast array of deeply technical discussions of all of PowerShell's many aspects, quirks and peculiarities  and all. So start at the beginning, and learn the basics, either on you own, or possibly with the aid of a great training class. Then work with it and return to find more. And when you can, how about adding to the body of knowledge referenced here.

Purpose of this Document

The purpose of this document is to help you to learn more about PowerShell and to be successful in applying it. This document seeks to point to the best content on the web to enable you to reach that goal.

Scope of this Document

This page contains links to help you learn more about Microsoft PowerShell. This includes PowerShell fundamentals as well as how PowerShell is used in Windows applications and services. As long as it's PowerShell related, we'll try to point to it!  The document is also version agnostic, and contains information about current and future versions of PowerShell.

Learning PowerShell Fundamentals

This section includes a list of pointers to guides that show you how to get started with PowerShell. For a more general list of sites that simply talk about PowerShell you should take a look in the "Essential PowerShell Resources Section".

Guides

Quick Reference Materials

Videos Covering PowerShell Fundamentals

Learning More About PowerShell

This section includes a list of pointers to guides that show you how to write advanced PowerShell scripts or pointers to specific topics.

General Topics

Writing PowerShell Cmdlets

PowerShell Remoting

PowerShell and WMI

Essential PowerShell Resources

Getting The PowerShell Product

You get PowerShell, either fully loaded as a part of Window 7/Server 2008 R2 or later, as an add-on (eg Server 2008 RTM that enabled you to load PowerShell Version 1) or as an OS Patch.

  • Windows Management Framework 3.0 - Windows Management Framework 3.0 makes some updated management functionality available to be installed on Windows 7 SP1, Windows Server 2008 R2 SP1 & Windows Server 2008 SP2. Windows Management Framework 3.0 contains PowerShell 3.0, WMI & WinRM.
  • PowerShell Version 2.0 - PowerShell Version 2 is installed with Windows 7 and Server 2008 R2 (although with the server core installations, it's not installed by default). For all other versions of Windows (on which PowerShel is supported), you need to download the appropriate package and install it. The download includes PowerShell Version 2 and WinRM 2.0.
  • PowerShell 2.0 SDK - The PowerShell 2.0 SDK provides the reference assemblies needed to write cmdlets, providers, and hosting applications, and it provides C# sample code that can be used as the starting point when you begin writing code.
  • Microsoft Script Explorer for PowerShell User Guide

Learning Resources

General Advice and Guidance

The web contains a rich set of advice and guidance for PowerShell - from learning the basics, to the obscure corners most folks don't go to. Below are what the community figures are the best general purpose places to go for good advice and guidance. NB: In a later section, below, we also provide links to more specific sets of guidance around the use of PowerShell.

Guidance Topics

Security

This section is for content relating to security. Insert links to blog posts, forum postings or Microsoft content relating to security and PowerShell

Note: Some of the links here were sourced from the PowerShell Security Survival Guide

Management

This section is for content relating to management. Insert links to blog posts, forum postings or Microsoft content relating to management and PowerShell.

Operations

This section is for content relating to operations. Insert links to blog posts, forum postings or Microsoft content relating to operations and PowerShell.

  •  (none yet)

Sources for PowerShell Scripts

There are numerous repositories of PowerShell sample scripts. Some are very simple and just demonstrate one or two particular aspects of a class or COM object,while others are richer and fuller featured and do more. But all can be adapted, modified, and leveraged.

  • TechNet Script Center Script Repository: Need to fix something, like, now? Search for that one PowerShell script or VBScript script that will get you out of a jam. You can also contribute your own scripts.
  • PoshCode Script Repository - PoshCode is a repository of PowerShell scripts that are free for public use. As you find things useful, please give back to the community.
  • PowerShell.Com Script Library - a large script library from this PowerShell community site.
  • PshScripts Blog - Thomas Lee's PowerShell script blog (plus a full set of downloadable scripts).
  • Powershell Framework - The Powershell Framework makes running Powershell scripts simple. It provides a means of interactively or non-interactively running scripts in a simple manner. It provides a form based interface to browse and run scripts, and a clean framework for writing scripts.
  • PowerShell Command Builder for SharePoint 2010 Products and Office 365 is a Silverlight application that enables IT pros and power users to visually assemble commands in the browser and then take those commands to their respective products.

PowerShell Modules and Module Guidance

The community has been a rich resource, providing modules to manage aspects of Microsoft products. These can be invaluable This section sets out the key add-on modules and provides links to more guidance on their usage.

A List of Popular PowerShell Modules you can find here:

http://social.technet.microsoft.com/wiki/contents/articles/4309.powershell-enabled-technologies-en-us.aspx

Powershell GUIs

Graphical user interfaces that have been built on top of Powershell.  They are built in a variety of methods including Winforms, WPF, WPK, and the Powershell module Show-UI.

Third party Cmdlets

List of Powershell-Enabled Technologies

A List of Powershell-Enabled Technologies you can find here:

http://social.technet.microsoft.com/wiki/contents/articles/4309.powershell-enabled-technologies-en-us.aspx

List of Windows Features and Roles that Take Advantage of PowerShell

A List of Windows Features and Roles that Take Advantage of PowerShell you can find here:

http://social.technet.microsoft.com/wiki/contents/articles/4327.list-of-windows-features-and-roles-that-take-advantage-of-windows-powershell-en-us.aspx

PowerShell Cmdlet Reference Material

Additional PowerShell Resources

Guidance Types

PowerShell How-To Topics

PowerShell Videos and Webcasts

Most Videos you can get on channel9 http://channel9.msdn.com/search?term=powershell

Webcast you can find by search true the Internet:

Community Resources 

PowerShell Blogs

 

Microsoft Corporation Blogs

MVP Blogs

Community Blogs

Community Blogs In English

Note: you can get all of the PowerShell posts from these English Language blogs in one place (and as a single RSS feed).

In French (Français)

In Arabic:

In Russian:

In Turkish:

In German (Deutsch):

Forums

Forums In English

In German (Deutsch)

Newsgroups

User Groups

PowerShellGroup.org

PowerShellGroup.org is the leading registry for PowerShell dedicated user groups. The PowerShellGroup.org community provides tools and support for creating and maintaining user groups. Current groups registered are: