This article was formerly titled  "Automating IT Tasks with Windows 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 Windows 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

Windows 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 Windows PowerShell 3.0, WMI & WinRM. 

    Windows PowerShell Version 2.0 - Windows 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 Windows PowerShell Version 2 and WinRM 2.0.

  • PowerShell 2.0 SDK - The Windows 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 Windows 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.

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 Windows PowerShell

A List of Windows Features and Roles that Take Advantage of Windows 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

Windows 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:

    • New! Microsoft's Jeffrey Snover on Windows Server 8
    • New! Hyper-V Cmdlets in Windows Server 8 Demo
    • New! How to Update PowerShell Help
    • Meet the Inventor of Windows PowerShell 

Community Resources

Windows PowerShell Blogs

In English:

Microsoft Corporation Blogs

MVP Blogs


Community Blogs

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

Community Blogs In French:

In Arabic:

In Russian:

In Turkish:

In German (Deutsch):

Forums

Forums In English

In German (Deutsch)

Newsgroups


User Groups

Social Networking

Twitter
Facebook

Books

German Books

Windows PowerShell Training

Microsoft TAG for this topic

Here is the home.aspx you can use to let mobile users scan directly to this topic on their smartphones:

Microsoft Tag for this Page

See Also

Feedback and Work to be Done On This Guide

Here is a list of suggested themes in priority order. Please add your own/adjust priority.

  1. Getting Started (Beginner Information).
  2. Advanced Scripting
    1. Writing Functions
    2. Creating Modules
    3. Exception Handling
    4. Logging
  3. Quality Attributes
    1. Security
    2. Management
      1. Remote Management (Remote Jobs, Remote Shell)
        1. Remote capabilities: differences between V1 and V2 in remoting
        2. Tips and Tricks to optimize PS remoting ( WinRM parameters?)
      2. Working with WMI
      3. Working with AD
    3. Operations
      1. Monitoring
      2. Reading Event Log
  4. Enterprise Readiness
    1. Script management / version control
    2. Deployment procedures
  5. Scenarios
    1. User provisioning - eg - AD + Exchange
    2. Application deployment - eg - IIS + SQL
  6. Product API Pointers / Best Practices
    1. Exchange
    2. SCCM
    3. SCVMM
  7. Developer tasks
    1. Writing CmdLets
    2. Writing ISE Add-Ins   
  8. Troubleshooting
  9. Remote capabilities: differences between V1 and V2 in remoting
  10. Tips and Tricks to optimize PS remoting ( WinRM parameters?)
  11. PowerShell cmdlets in MS products: Exchange - SCOM - SCVMM....

 **I changed the title from a brand-based (Survival Guide) title to a task=based title to observe the effect on page views and discoverability. This particular experiment resulted in significant reduction in page views. So I changed it back. Because that's the kind of thing you can do on the wiki :-)