TOPIC
    about_Remote_Requirements

SHORT DESCRIPTION
    Describes the system requirements and configuration requirements for 
    running remote commands in Windows PowerShell.

LONG DESCRIPTION
    This topic describes the system requirements, user requirements, and
    resource requirements for establishing remote connections and running
    remote commands in Windows PowerShell. It also provides instructions for
    configuring remote operations.

    Note: Many cmdlets (including the Get-Service, Get-Process, Get-WMIObject,
          Get-EventLog, and Get-WinEvent cmdlets) get objects from remote
          computers by using Microsoft .NET Framework methods to retrieve the
          objects. They do not use the Windows PowerShell remoting 
          infrastructure. The requirements in this document do not apply to 
          these cmdlets.

          To find the cmdlets that have a ComputerName parameter but do not use
          Windows PowerShell remoting, read the description of the ComputerName
          parameter of the cmdlets.
          

 SYSTEM REQUIREMENTS

    The local and remote computers must have:

        --  Windows PowerShell 2.0 or later

        --  The Microsoft .NET Framework 2.0 or later

        --  Windows Remote Management 2.0

    To find the version number of an installed version of Windows PowerShell,
    use the $PSVersionTable automatic variable. The value of the
    $PSVersionTable.Version.Major property must be at least 2.

    Windows Remote Management 2.0 is included in Windows 7 and in
    Windows Server 2008 R2. It is also included in the integrated installation
    package for earlier versions of Windows that includes Windows PowerShell.

    Windows PowerShell Integrated Scripting Environment (ISE) and the 
    Out-Gridview cmdlet require the Microsoft .NET Framework 3.5 with Service 
    Pack 1. The Get-WinEvent cmdlet requires the Microsoft .NET Framework 3.5
    or greater. These upgrades are not required for remoting.


 USER PERMISSIONS

    To establish a remote connection and run remote commands, the current user
    must be a member of the Administrators group on the remote computer. Or,
    the current user must be able to provide the credentials of an 
    administrator.


 RUN AS ADMINISTRATOR

    In Windows Vista, Windows Server 2008, and later versions of Windows,
    Administrator privileges are required for the following remoting
    operations:

        -- Establishing a remote connection to the local computer. This is
           commonly known as a "loopback" scenario. 
      
        -- Managing session configurations on the local computer.

        -- Viewing and changing WS-Management settings on the local computer.
           These are the settings in the LocalHost node of the WSMAN: drive.


    To perform these tasks, you must start Windows PowerShell with the "Run
    as administrator" option even if you are a member of the Administrators
    group on the local computer.

    In Windows 7 and in Windows Server 2008 R2, to start Windows PowerShell
    with the "Run as administrator" option:

        1. Click Start, click All Programs, click Accessories, and then click
           the Windows PowerShell folder.

        2. Right-click Windows PowerShell, and then click 
           "Run as administrator".

    In Windows Vista and Windows Server 2008, to start Windows PowerShell with
    the "Run as administrator" option: 

        1. Click Start, click All Programs, and then click the Windows 
           PowerShell folder.

        2. Right-click Windows PowerShell, and then click 
           "Run as administrator".
    
    The "Run as administrator" option is also available in other Windows 
    Explorer entries for Windows PowerShell, including shortcuts. Just 
    right-click the item, and then click "Run as administrator".

    When you start Windows PowerShell from another program such as Cmd.exe, use
    the "Run as administrator" option to start the program.         


 HOW TO CONFIGURE YOUR COMPUTER FOR REMOTING   

    The remoting features of Windows PowerShell are supported by the WinRM
    service, which is the Microsoft implementation of the Web Services for
    Management (WS-Management) protocol. To use the remoting features, you 
    need to change the default configuration of WS-Management on the system. 

    To configure Windows PowerShell to receive remote commands: 

        1. Start Windows PowerShell. In Windows Vista and later versions of 
           Windows, start Windows PowerShell with the "Run as administrator"
           option.

	2. At the command prompt, type:

	   enable-psremoting


    This procedure allows users on other computers to establish remote 
    connections and to run remote commands on the local computer. It also 
    allows you to create a "loopback" connection on the local computer.

    To verify that remoting is configured correctly, run a test command such as
    the following command, which creates a remote session on the local 
    computer.

          new-pssession


    If remoting is configured correctly, the command will create a session on 
    the local computer and return an object that represents the session. The 
    output should resemble the following sample output:

          C:\PS> new-pssession

          Id Name        ComputerName    State    ConfigurationName
          -- ----        ------------    -----    -----
          1  Session1    localhost       Opened   Microsoft.PowerShell


    If the command fails, see about_Remote_Troubleshooting for assistance.


 UNDERSTAND POLICIES

    When you work remotely, you use two instances of Windows PowerShell, one 
    on the local computer and one on the remote computer. As a result, your 
    work is affected by the Windows policies and the Windows PowerShell 
    policies on the local and remote computers.

    In general, before you connect and as you are establishing the connection,
    the policies on the local computer are in effect. When you are using the 
    connection, the policies on the remote computer are in effect.


SEE ALSO
    about_Remote
    about_PSSessions
    Invoke-Command
    Enter-PSSession
    New-PSSession