主題
    about_Session_Configurations

簡短描述
    描述工作階段設定,這些設定會決定可以從遠端連線到電腦的使用者,以及他們可以
    執行的命令。

完整描述
    工作階段設定是本機電腦上的一組設定,用來定義遠端使用者連線到本機電腦時所建
    立之 Windows PowerShell 工作階段的環境。

    電腦的系統管理員可以使用工作階段設定來保護電腦,並為連線至電腦的使用者定義
    自訂環境。

    系統管理員可以使用工作階段設定,決定從遠端連線至電腦所需的權限。根據預設,
    只有 Administrators 群組的成員具有使用工作階段設定從遠端連線的權限,但是您
    可以變更預設設定,允許所有使用者或選取的使用者從遠端連線到您的電腦。

    工作階段設定是 Web Services for Mangagement (WS-Management) 架構的 
    Windows PowerShell 遠端功能。只有在使用 New-PSSession、Invoke-Command 或 
    Enter-PSSession Cmdlet 連線到遠端電腦時,才會使用這些設定。

    注意:若要在執行 Windows Vista、Windows Server 2008 或較新版本之 Windows 
          的電腦上管理工作階段設定,請使用 [以系統管理員身分執行] 選項啟動 
          Windows PowerShell。


 關於工作階段設定

    每個 Windows PowerShell 工作階段都會使用工作階段設定。這包括您使用 
    New-PSSession 或 Enter-PSSession Cmdlet 建立的固定工作階段,以及在使用利用
    WS-Management 架構之遠端技術的 Cmdlet (例如 Invoke-Command) 其 ComputerName
    參數時,Windows PowerShell 所建立的暫存工作階段。

    系統管理員可以使用工作階段設定來保護電腦的資源,並為連線至電腦的使用者建立
    自訂環境。例如,您可以使用工作階段設定限制電腦在工作階段中接收的物件大小、
    定義工作階段的語言模式,並指定工作階段中可用的 Cmdlet、提供者和函數。

    透過設定工作階段設定的安全性描述元,即可決定誰能使用工作階段設定連線到電
    腦。
    使用者必須擁有工作階段設定的執行權限,才能在工作階段中使用該設定。
    如果使用者沒有必要權限可以使用電腦的任何工作階段設定,就無法從遠端連線到電
    腦。
    依預設,只有電腦的 Administrators 擁有使用預設工作階段設定的權限。但是您可
    以變更安全性描述元,以允許所有人、不允許任何人,或是僅允許選取的使用者使用
    電腦的工作階段設定。


 
 預設工作階段設定

    Windows PowerShell 包含名為 Microsoft.PowerShell 的內建工作階段設定。在執行
    64 位元版本 Windows 的電腦上,Windows PowerShell 也提供 32 位元的工作階段設
    定 Microsoft.PowerShell32。

    這些工作階段設定預設用於工作階段,也就是當用來建立工作階段的命令不包括 
    New-PSSession、Enter-PSSession 或 Invoke-Command 等 Cmdlet 的 
    ConfigurationName 參數時。

    預設工作階段設定的安全性描述元只允許本機電腦的 Administrators 群組成員使用
    這些設定。因此,除非您變更預設設定,否則只有 Administrators 群組的成員可以
    從遠端連線到電腦。

    您可以使用 $PSSessionConfigurationName 喜好設定變數來變更預設工作階段設
    定。如需詳細資訊,請參閱 about_Preference_Variables。



 檢視本機電腦的工作階段設定

    若要取得本機電腦的工作階段設定,請使用 Get-PSSessionConfiguration Cmdlet。

    例如,輸入:

        C:\PS> get-pssessionconfiguration | format-list -property name, permission

        Name		: microsoft.powershell
        Permission 	: BUILTIN\Administrators AccessAllowed

        Name		: microsoft.powershell32
        Permission	: BUILTIN\Administrators AccessAllowed


    您也可以使用 Windows PowerShell 中的 WS-Management 提供者來檢視工作階段設
    定。WS-Management 提供者會在您的工作階段中建立 WSMAN: 磁碟機。

    在 WSMAN: 磁碟機中,工作階段設定位於 Plugin 節點 (所有的工作階段設定都位於
    Plugin 節點,但是 Plugin 節點中也有不是工作階段設定的項目)。

    例如,若要檢視本機電腦的工作階段設定,請輸入:

         C:\PS> dir wsman:\localhost\plugin\microsoft*
      
                    WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

         Name                      Type            Keys
         ----                      ----            ----
         microsoft.powershell      Container       {Name=microsoft.powershell}
         microsoft.powershell32    Container       {Name=microsoft.powershell}


 檢視遠端電腦的工作階段設定

    若要檢視遠端電腦的工作階段設定,請使用 Connect-WSMan Cmdlet 將表示遠端電腦
    的節點新增到本機電腦的 WSMAN: 磁碟機,然後再使用 WSMAN: 磁碟機來檢視工作階
    段設定。

    例如,下列命令會將表示 Server01 遠端電腦的節點新增到本機電腦的 WSMAN: 磁碟
    機。

        C:\PS> connect-wsman server01.corp.fabrikam.com

    當命令完成時,您就可以瀏覽表示 Server01 電腦的節點,以檢視工作階段設定。
        
    例如:

        C:\PS> cd wsman:
        
        PS WSMan:\> dir

        ComputerName                                  Type
        ------------                                  ----
        localhost                                     Container
        server01.corp.fabrikam.com                    Container


        PS WSMan:\> dir server01*\plugin\*


               WSManConfig: Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Plugin

        Name                      Type            Keys
        ----                      ----            ----
        microsoft.powershell      Container       {Name=microsoft.powershell}
        microsoft.powershell32    Container       {Name=microsoft.powershell32}


 變更工作階段設定的安全性描述元 

    根據預設,電腦的 Administrators 群組成員具有預設工作階段設定的執行權限,但
    是您可以針對預設工作階段設定和自己建立的任何工作階段設定變更安全性描述元。

    若要允許其他使用者從遠端連線至電腦,請使用 Set-PSSessionConfiguration Cmdlet
    為這些使用者將「執行」權限新增到 Microsoft.PowerShell 和 Microsoft.
    PowerShell32 工作階段設定的安全性描述元。

    例如,下列命令會開啟內容頁,讓您變更 Microsoft.PowerShell 預設工作階段設定
    的安全性描述元。

        C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI

    若要拒絕每個使用者,使其無法存取電腦的所有工作階段設定,請使用 Disable-PSRemoting
    函數或 Disable-PSSessionConfiguration Cmdlet。例如,下列命令會新增「全部拒
    絕」項目到電腦的所有工作階段設定。

        C:\PS> disable-psremoting


    若要新增「全部拒絕」項目到特定的工作階段設定,請使用
    Disable-PSSessionConfiguration Cmdlet。例如,下列命令會新增「全部拒絕」項
    目到 Microsoft.PowerShell 工作階段設定。

        C:\PS> disable-pssessionConfiguration -name Microsoft.PowerShell
    

    若要從所有的工作階段設定移除「全部拒絕」項目,請使用 Enable-PSRemoting 或 
    Enable-PSSessionConfiguration Cmdlet。例如,下列命令會從預設工作階段設定移除
   「全部拒絕」項目。

        C:\PS> enable-pssessionConfiguration -name Microsoft.Power*


    若要對工作階段設定的安全描述元進行其他變更,請使用 
    Set-PSSessionConfiguration Cmdlet。使用 SecurityDescriptorSDDL 參數可提交 
    SDDL 字串值,而使用 ShowSecurityDescriptorUI 參數則可顯示使用者介面內容工
    作表,協助您建立新的 SDDL。

    例如:
      
        C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI

     

 建立新的工作階段設定

    若要在本機電腦建立新的工作階段設定,請使用 Register-PSSessionConfiguration 
    Cmdlet。若要定義新的工作階段設定,您可以使用 C# 組件、Window PowerShell 
    指令碼,以及 Register-PSSessionConfiguration Cmdlet 的參數。

    例如,下列命令建立的工作階段設定與 Microsoft.PowerShell 工作階段設定相同,
    但是它會將從遠端命令接收的資料限制為 20 MB (預設為 50 MB)。

        c:\PS> register-psSessionConfiguration -name NewConfig --MaximumReceivedDataSizePerCommandMB 20

    建立工作階段設定時,您可以使用其他工作階段設定 Cmdlet 來進行管理,而且所建
    立的設定會出現在 WSMAN: 磁碟機中。

    如需詳細資訊,請參閱 Register-PSSessionConfiguration。


     
 移除工作階段設定

    若要從本機電腦移除工作階段設定,請使用 Unregister-PSSessionConfiguration
    Cmdlet。例如,下列命令會從電腦移除 NewConfig 工作階段設定。

        c:\PS> unregister-psSessionConfiguration -name NewConfig

    如需詳細資訊,請參閱 Unregister-PSSessionConfiguration。



 選取工作階段設定
 
    若要針對工作階段選取特定的工作階段設定,請使用 New-PSSession、
    Enter-PSSession 或 Invoke-Command 的 ConfigurationName 參數。

    例如,以下命令會使用 New-PSSession Cmdlet,在 Server01 電腦啟動 PSSession。
    此命令會使用 ConfigurationName 參數來選取 Server01 電腦的 WithProfile 
    設定。

        C:\PS> new-pssession -computername Server01 -configurationName WithProfile

    只有當目前的使用者擁有使用 WithProfile 工作階段設定的權限,或是可以提供具
    有必要權限之使用者的認證時,執行這個命令才會成功。

    您也可以使用 $PSSessionConfigurationName 喜好設定變數,變更電腦的預設工作
    階段設定。如需 $PSSessionConfigurationName 喜好設定變數的詳細資訊,請參閱
    about_Preference_Variables。



請參閱
    about_Preference_Variables
    about_PSSession
    about_Remote
    New-PSSession
    Disable-PSSessionConfiguration
    Enable-PSSessionConfiguration
    Get-PSSessionConfiguration
    Register-PSSessionConfiguration
    Set-PSSessionConfiguration
    Unregister-PSSessionConfiguration




目錄