Revision #347

You are currently reviewing an older revision of this page.
Go to current version
This article was formerly titled the "Windows PowerShell Survival Guide."
 

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 looks at learning more about 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!

 

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 Products

  • Download Windows PowerShell 2.0 - Windows PowerShell V2 comes pre-loaded with Windows 7 and Server 2008 R2 (although with the server core installations, it's not installed by default). For all other Operating systems you need to download the appropriate package and install it. The download includes Windows PowerShell V2 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.

  • PowerShell 3.0 CTP #1 -     Windows Management Framework 3.0 CTP1 makes some updated management functionality available to be installed on Windows 7 SP1 & Windows Server 2008 R2 SP1. Windows Management Framework 3.0 contains Windows PowerShell 3.0, WMI & WinRM.

Learning Resources

Getting 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. Here are what the community figures are the best:

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 Windows 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 Windows PowerShell scripts that are free for public use. As you find things useful, please give back to the community.
  • Windows PowerShell.Com Script Library - a large script library from this Windows PowerShell community site.
  • PshScripts Blog - Thomas Lee's Windows 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 Modules and Module Guidance

The community has been a rich resource, providing modules to manage aspects of Microsoft products. These can be invaluable:

 

 

 

    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

    Windows PowerShell Cmdlet Reference Material

    Additional PowerShell Resources

    Guidance Types

    PowerShell How-To Topics

    PowerShell Videos 

    • 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).

    In French:
    In Arabic:
    In Russian:
    In Turkish:

    Forums

    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....