主題
    about_Remote_Troubleshooting

簡短描述
    說明如何排除 Windows PowerShell 的遠端操作問題。

完整描述
    本節說明使用 Windows PowerShell 以 WS-Management 技術為基礎的遠端功能時,可
    能遇到的一些問題,並提供解決這些問題的建議。

    使用 Windows PowerShell 遠端功能前,請先參閱 about_Remote 和 
    about_Remote_Requirements 關於設定和基本使用的指引。此外,每個遠端 Cmdlet 
    的說明主題 (特別是參數說明) 也提供可協助您避免問題的有用資訊。

    您可以在 Microsoft TechNet Library 找到本主題的更新版本,以及其他 
    Windows PowerShell 說明主題的線上版本。若要參閱本說明主題的線上版本,請在網
    際網路瀏覽器中貼上下列 URL:

	https://go.microsoft.com/fwlink/?LinkID=135188
 

    注意:對於 Windows Vista、Windows Server 2008 與較新的 Windows 版本,若要在
          WSMan: 磁碟機檢視或變更本機電腦的設定,包括對工作階段設定、信任的主
          機、連接埠或接聽程式進行變更,請以 [以系統管理員身分執行] 選項啟動
          Windows PowerShell。

 疑難排解權限和驗證問題

    本節討論與使用者和電腦權限有關的遠端功能問題以及遠端功能需求。

    如何以系統管理員身分執行
    ---------------------------
        錯誤:拒絕存取。您必須從提高權限的處理序執行這個 Cmdlet。

    若要在本機電腦啟動遠端工作階段,或在 WSMan: 磁碟機中檢視或變更本機電腦的設
    定,包括對工作階段設定、信任的主機、連接埠或接聽程式進行變更,請以 [以系統
    管理員身分執行] 選項啟動 Windows PowerShell。

    若要以 [以系統管理員身分執行] 選項啟動 Windows PowerShell:

    -- 以滑鼠右鍵按一下 [Windows PowerShell] (或 [Windows PowerShell ISE])
       圖示,然後按一下 [以系統管理員身分執行]。

    若要在 Windows 7 和 Windows Server 2008 R2 中使用 [以系統管理員身分執行]
    選項啟動 Windows PowerShell:

    -- 在 Windows 工作列中,以滑鼠右鍵按一下 [Windows PowerShell] 圖示,然後按
       一下 [以系統管理員身分執行 Windows PowerShell]。

    注意:在 Windows Server 2008 R2 中,Windows PowerShell 圖示預設會固定出現
          在工作列中。

    如何啟用遠端功能
    ----------------------
        錯誤:拒絕存取

        - 或 -
 
        錯誤:已拒絕遠端主機的連線。請確認 WS-Management 服務正在遠端主機上執
              行,並設定為接聽正確連接埠與 HTTP URL 的要求。

    不需進行設定即可讓電腦傳送遠端命令,但若要接收遠端命令,則需設定電腦的遠端
    功能。設定內容包括啟動 WinRM 服務、將 WinRM 服務的啟動類型設定為自動、建立
    HTTP 和 HTTPS 連線的接聽程式,以及建立預設工作階段設定。

    若要設定電腦使其接收遠端命令,請使用 Enable-PSRemoting Cmdlet。下列命令會
    啟用所有必要的遠端設定、啟用工作階段設定,以及重新啟動 WinRM 服務讓變更生
    效。

        enable-psremoting

    若要隱藏所有使用者提示,請輸入:

        enable-psremoting -force

    如需詳細資訊,請參閱 Enable-PSRemoting。

    如何在公司中啟用遠端功能
    ---------------------------------------
        錯誤:拒絕存取

        - 或 -

        錯誤:已拒絕遠端主機的連線。請確認 WS-Management 服務正在遠端主機上執
              行,並設定為接聽正確連接埠與 HTTP URL 的要求。

    若要啟用單一電腦接收遠端 Windows PowerShell 命令並接受連線,請使用
    Enable-PSRemoting Cmdlet。

    若要啟用公司內多部電腦的遠端功能,可使用下列延伸選項。

    -- 若要設定接聽程式的遠端功能,請啟用 [允許自動設定接聽程式] 群組原則。如
       需指示,請參閱下方的<如何使用群組原則啟用接聽程式>一節。
 
    -- 若要將多部電腦的 Windows Remote Management (WinRM) 的啟動類型設為自
       動,請使用 Set-Service Cmdlet。如需指示,請參閱下方的<如何設定 WinrM 服
       務的啟動類型>一節。

    -- 若要啟用防火牆例外,請使用 [Windows 防火牆:允許本機連接埠例外] 群組原
       則。如需指示,請參閱下方的<如何使用群組原則啟用防火牆例外>一節。

 

    如何使用群組原則啟用接聽程式
    ------------------------------------------------
        錯誤:拒絕存取

        - 或 -

        錯誤:已拒絕遠端主機的連線。請確認 WS-Management 服務正在遠端主機上執
              行,並設定為接聽正確連接埠與 HTTP URL 的要求。

    若要設定網域中所有電腦的接聽程式,請啟用下列群組原則路徑中的 [允許自動設定
    接聽程式] 原則:

        Computer Configuration\Administrative Templates\Windows Components\
        Windows Remote Management (WinRM)\WinRM service
        

    啟用原則並指定 IPv4 和 IPv6 篩選器。允許使用萬用字元 (*)。

    如何使用群組原則啟用防火牆例外
    ----------------------------------------------------------
        錯誤:拒絕存取

        - 或 -

        錯誤:已拒絕遠端主機的連線。請確認 WS-Management 服務正在遠端主機上執
              行,並設定為接聽正確連接埠與 HTTP URL 的要求。

    若要啟用網域中所有電腦的防火牆例外,請啟用
    下列群組原則路徑中的 [Windows 防火牆:允許本機連接埠例外] 
    原則:

        Computer Configuration\Administrative Templates\Network\Network
        Connections\Windows Firewall\Domain Profile

    此原則會允許電腦的 Administrators 群組成員使用 [控制台] 中的 [Windows 防火
    牆],為 Windows Remote Management 服務建立防火牆例外。

    如何設定 WINRM 服務的啟動類型
    ------------------------------------------------
        錯誤:拒絕存取

    Windows PowerShell 的遠端功能需倚賴 Windows Remote Management (WinRM)
    服務。服務必須處於執行中狀態,才能支援遠端命令。

    在 Windows Server 2003、Windows Server 2008 和 Windows Server 2008 R2
    中,Windows Remote Management (WinRM) 服務的啟動類型都是
    「自動」。

    然而,在 Windows XP、Windows Vista 和 Windows 7 中,WinRM 服務預設則為停
    用。

    若要設定遠端電腦上服務的啟動類型,請使用 Set-Service Cmdlet。

    若要在多部電腦上執行命令,可以建立電腦名稱的文字檔或 CSV 檔案。

    例如,下列命令會從 Servers.txt 檔案取得電腦名稱清單,接著將這些電腦上 WinRM
    服務的啟動類型都設為「自動」。

        C:\PS> $servers = get-content servers.txt

        C:\PS> set-service WinRM -computername $servers -startuptype Automatic
        

    若要查看結果,請使用 Get-WMIObject Cmdlet 搭配 Win32_Service 物件。
    如需詳細資訊,請參閱 Set-Service。

    

    如何重新建立預設的工作階段設定
    --------------------------------------------------
        錯誤:拒絕存取

    若要連線至本機電腦並從遠端執行命令,本機電腦必須含有遠端命令的工作階段設定。

    使用 Enable-PSRemoting 時,會在本機電腦建立預設的工作階段設定。當遠端命令
    不含 ConfigurationName 參數時,遠端使用者就會採用上述工作階段設定。

    如果電腦上的預設設定已取消註冊或已刪除,請使用 Enable-PSRemoting Cmdlet 重
    新建立預設設定。您可以重複使用這個 Cmdlet。如果功能已設定,也不會產生錯誤。

    如果變更了預設工作階段設定,但是想還原為原始預設工作階段設定,請使用 
    Unregister-PSSessionConfiguration Cmdlet 刪除變更過的工作階段設定,然後使用
    Enable-PSRemoting Cmdlet 進行還原。Enable-PSRemoting 不會變更現有的工作階段
    設定。

    注意:Enable-PSRemoting 還原預設工作階段設定時,並不會為設定建立明確的安全
          性描述元,而是由設定繼承 RootSDDL 的安全性描述元,此預設即為安全的。

    若要查看 RootSDDL 安全性描述元,請輸入:

        get-item wsman:\localhost\Service\RootSDDL

    若要變更 RootSDDL,請在 WSMan: 磁碟機中使用 Set-Item Cmdlet。若要變更工作階
    段設定的安全性描述元,請使用 Set-PSSessionConfiguration Cmdlet 搭配 
    SecurityDescriptorSDDL 或 ShowSecurityDescriptorUI 參數。
    

    如需 WSMan: 磁碟機的詳細資訊,請參閱 WS-Management 提供者的說明主題 
    ("get-help wsman")。


    如何提供系統管理員認證
    ----------------------------------------
        錯誤:拒絕存取

    若要在遠端電腦建立 PSSession 或執行命令,依預設,目前使用者必須是遠端電腦 
    Administrators 群組的成員。而即使目前使用者已經以 Administrators 群組成員
    的帳戶登入,有時候仍然需要認證。

    如果目前使用者是遠端電腦 Administrators 群組的成員,或可以提供 
    Administrators 群組成員的認證,請使用 New-PSSession、Enter-PSSession 或
    Invoke-Command Cmdlet 的 Credential 參數從遠端連線。

    例如,下列命令可提供系統管理員的認證。

        Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01
        
 
    如需 Credential 參數的詳細資訊,請參閱 New-PSSession、Enter-PSSession 或 
    Invoke-Command。

    如何為非系統管理使用者啟用遠端功能
    ---------------------------------------------------
        錯誤:拒絕存取

    若要在遠端電腦建立 PSSession 或執行命令,使用者必須具有足夠權限,可以使用遠
    端電腦的工作階段設定。

    依預設,只有電腦的 Administrators 群組成員擁有使用預設工作階段設定的權限。
    因此,只有 Administrators 群組的成員可以從遠端連線至電腦。

    若要允許其他使用者連線至本機電腦,請給予該使用者「執行」權限,使其得以執行
    本機電腦的預設工作階段設定。

    下列命令會開啟內容表,讓您變更本機電腦上預設 Microsoft.PowerShell 工作階段
    設定的安全性描述元。

        Set-PSSessionConfiguration Microsoft.Powershell -ShowSecurityDescriptorUI
        

    如需詳細資訊,請參閱 about_Session_Configurations。

    如何為其他網域中的系統管理員啟用遠端功能
    ----------------------------------------------------------
        錯誤:拒絕存取

    其他網域中的使用者是本機電腦上 Administrators 群組的成員時,該使用者不能以
    系統管理員權限從遠端連線至本機電腦。依預設,來自其他網域的遠端連線只能搭配
    標準使用者權限權杖來執行。

    不過,您可以使用 LocalAccountTokenFilterPolicy 登錄項目來變更預設行為,允
    許屬於 Administrators 群組成員的遠端使用者以 Administrator 權限執行。

    警告:LocalAccountTokenFilterPolicy 項目會針對所有受影響電腦的所有使用者,
          停用其使用者帳戶控制 (UAC) 遠端限制。變更原則前,請慎重考慮這項設定
          的隱憂。
    
    若要變更原則,請使用下列命令,將 LocalAccountTokenFilterPolicy 登錄項目的
    值設定為 1。

        C:\PS> new-itemproperty -name LocalAccountTokenFilterPolicy -path
        `
            HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
            -propertyType `DWord -value 1

    如何在遠端命令中使用 IP 位址
    -----------------------------------------------------
        錯誤:WinRM 用戶端無法處理該要求。如果驗證配置與 Kerberos 不同,或是用
              戶端電腦沒有加入網域,則必須使用 HTTPS 傳輸,或是將目標電腦新增到
              TrustedHosts 組態設定中。

    New-PSSession、Enter-PSSession 和 Invoke-Command Cmdlet 的 ComputerName
    參數可以接受 IP 位址做為有效值。不過,由於 Kerberos 驗證不支援 IP 位址,因
    此當您指定 IP 位址時,預設會使用 NTLM 驗證。

    使用 NTLM 驗證時,遠端功能需使用下列程序:

    1. 設定電腦為使用 HTTPS 傳輸,或者將遠端電腦的 IP 位址新增至本機電腦的 
       TrustedHosts 清單中。

       如需指示,請參閱下方的<如何將電腦新增到信任的主機清單>一節。

    2. 在所有遠端命令中使用 Credential 參數。
  
       即使您提交的是目前使用者的認證,此步驟仍為必要步驟。

   
    如何從工作群組型電腦進行遠端連線
    -------------------------------------------------------
        錯誤:WinRM 用戶端無法處理該要求。如果驗證配置與 Kerberos 不同,或是用
              戶端電腦沒有加入網域,則必須使用 HTTPS 傳輸,或是將目標電腦新增
              到 TrustedHosts 組態設定中。

    當本機電腦不在網域中,遠端功能需採用下列程序。

    1. 設定電腦為使用 HTTPS 傳輸,或者將遠端電腦的名稱新增至本機電腦的
       TrustedHosts 清單中。

       如需指示,請參閱下方的<如何將電腦新增到信任的主機清單>一節。

    2. 驗證工作群組型電腦上是否有設定密碼。如果未設定密碼,或密碼值是空的,您
       將無法執行遠端命令。

       若要設定使用者帳戶的密碼,請使用 [控制台] 中的 [使用者帳戶]。

    3. 在所有遠端命令中使用 Credential 參數。
  
       即使您提交的是目前使用者的認證,此步驟仍為必要步驟。


    如何將電腦新增到信任的主機清單
    -----------------------------------------------

    TrustedHosts 項目可以包含電腦名稱、IP 位址和完整網域名稱的逗號分隔清單。允
    許使用萬用字元。

    若要檢視或變更信任的主機清單,請使用 WSMan: 磁碟機,TrustedHost 項目位於 
    WSMan:\localhost\Client 節點中。
    

    只有電腦的 Administrators 群組成員擁有可變更電腦上信任主機清單的權限。

    警告:您為 TrustedHosts 項目設定的值會影響電腦的所有使用者。

    若要檢視信任的主機清單,請使用下列命令:

        get-item wsman:\localhost\Client\TrustedHosts

    您也可以使用 Set-Location Cmdlet (別名為 cd),從 WSMan: 磁碟機瀏覽至該位
    置。例如,"cd WSMan:\localhost\Client; dir"。

    若要將所有電腦新增至信任的主機清單,請使用下列命令,其中在 ComputerName 
    的位置使用 * (全部) 的值。

        set-item wsman:localhost\client\trustedhosts -value *

    您也可以使用萬用字元 (*),將特定網域中的所有電腦新增至信任的主機清單。例
    如,下列命令會將 Fabrikam 網域中的所有電腦新增至信任的主機清單。

        set-item wsman:localhost\client\trustedhosts *.fabrikam.com

    若要新增特定電腦的名稱至信任的主機清單,請使用下列命令格式:

        set-item wsman:\localhost\Client\TrustedHosts -value <電腦名稱>[,
        <電腦名稱>]

    其中每個 <電腦名稱> 值都必須具有下列格式:

        <電腦>.<網域>.<公司>.<頂層網域>

    例如:

        set-item wsman:\localhost\Client\TrustedHosts -value Server01.Domain01.Fabrikam.com
        

    若要新增電腦名稱至現有的信任主機清單,請先將目前的值儲存在變數中,然後再將
    該值設定為逗號分隔的清單,其中包含目前值和新的值。

    例如,若要新增 Server01 電腦至現有的信任主機清單,請使用下列命令

        $curValue = (get-item wsman:\localhost\Client\TrustedHosts).value
        

        set-item wsman:\localhost\Client\TrustedHosts -value "$curValue,
        Server01.Domain01.Fabrikam.com"

    若要新增特定電腦的 IP 位址至信任的主機清單,請使用下列命令格式:

        set-item wsman:\localhost\Client\TrustedHosts -value <IP 位址>

    例如:

        set-item wsman:\localhost\Client\TrustedHosts -value 172.16.0.0
        

    若要新增電腦至遠端電腦的 TrustedHosts 清單,請先使用 Connect-WSMan Cmdlet
    將代表遠端電腦的節點新增到本機電腦的 WSMan: 磁碟機,然後再使用 Set-Item 命
    令新增電腦。

    如需 Connect-WSMan Cmdlet 的詳細資訊,請參閱 Connect-WSMan。

 疑難排解電腦設定問題
    本節討論與電腦、網域或公司的特定設定相關的遠端功能問題。

    如何設定遠端功能以使用其他連接埠
    --------------------------------------------
        錯誤:已拒絕指定遠端主機的連線。請確認 WS-Management 服務正在遠端主機
              上執行,並設定為接聽正確連接埠與 HTTP URL 的要求。

    Windows PowerShell 遠端功能預設使用連接埠 80 來進行 HTTP 傳輸。使用者未在
    遠端命令中指定 ConnectionURI 或 Port 參數時,就會使用預設連接埠。

    若要變更 Windows PowerShell 使用的預設連接埠,請在 WSMan: 磁碟機中使用
    Set-Item Cmdlet,變更 listener 分葉節點的 Port 值。

    例如,下列命令會將預設連接埠變更為 8080。

        set-item wsman:\localhost\listener\listener*\port -value 8080

    如何設定遠端功能搭配 PROXY 伺服器使用
    ---------------------------------------------
        錯誤:用戶端無法連線到要求中指定的目的地。請確定目的地上的服務正在執行
              並接受要求。

    由於 Windows PowerShell 遠端功能使用 HTTP 通訊協定,因此會受到 HTTP 
    Proxy 設定的影響。如果公司中有 Proxy 伺服器,使用者將無法直接存取 
    Windows PowerShell 遠端電腦。

    若要解決這個問題,請在遠端命令中使用 Proxy 設定選項。以下為可用設定:

        --  ProxyAccessType
        --  ProxyAuthentication
        --  ProxyCredential

    若要針對特定命令設定這些選項,請使用下列程序:

        1. 使用 New-PSSessionOption Cmdlet 的 ProxyAccessType、
           ProxyAuthentication 和 ProxyCredential 參數來建立工作階段選項物件,並
           搭配您公司的 Proxy 設定,再將此選項物件儲存在變數中。

        2. 使用包含選項物件的變數做為 New-PSSession、Enter-PSSession 或 
           Invoke-Command 命令的 SessionOption 參數值。

    例如,下列命令會建立工作階段選項物件並搭配 Proxy 工作階段選項,接著使用此物
    件建立遠端工作階段。

        C:\PS> $SessionOption = New-PSSessionOption -ProxyAccessType IEConfig
        ` -ProxyAuthentication Negotiate -ProxyCredential Domain01\User01
        

        C:\PS> New-PSSession -ConnectionURI https://www.fabrikam.com

    如需 New-PSSessionOption Cmdlet 的詳細資訊,請參閱 New-PSSessionOption。

    若要在目前工作階段中為所有遠端命令設定這些選項,請在 $PSSessionOption 喜好
    設定變數的值中使用 New-PSSessionOption 所建立的選項物件。如需
     $PSSessionOption 喜好設定變數的詳細資訊,請參閱 about_Preference_Variables。

    若要在本機電腦為所有 Windows PowerShell 工作階段的所有遠端命令設定這些選
    項,請將 $PSSessionOption 喜好設定變數新增至您的 Windows PowerShell 設定檔。
    如需 Windows PowerShell 設定檔的詳細資訊,請參閱 about_Profiles。
 

    如何在 64 位元電腦上偵測 32 位元工作階段
    ---------------------------------------------------
        錯誤:無法辨識 "<工具-名稱>" 詞彙是否為 Cmdlet、函數、指令檔或可執行程
              式的名稱。請檢查名稱拼字是否正確,如果包含路徑的話,請確認路徑是
              否正確,然後再試一次。

    如果遠端電腦執行的是 64 位元版本 Windows,但遠端命令使用的是 32 位元工作階
    段設定,例如 Microsoft.PowerShell32,則 Windows Remote Management (WinRM)
    會載入 WOW64 處理序,且 Windows 會自動將所有指向 %Windir%\System32 目
    錄的參考重新導向至 %windir%\SysWOW64 目錄。

    如此一來,如果您想使用 System32 目錄中的工具,而該工具在 SysWow64 目錄中沒
    有對應項目,例如 Defrag.exe,則在目錄中將找不到該工具。

    如果要找到工作階段中所用的處理器架構,請使用 PROCESSOR_ARCHITECTURE 環境變
    數的值。下列命令會在 $s 變數中找出工作階段的處理器架構。

        C:\PS> $s = new-pssession -computername Server01 -configurationName CustomShell
        

        C:\PS> invoke-command -session $s {$env:PROCESSOR_ARCHITECTURE}
        x86

    如需工作階段設定的詳細資訊,請參閱 about_session_configurations。

 疑難排解原則和喜好設定問題
    本節討論本機及遠端電腦上與原則和喜好設定有關的遠端功能問題。

    如何變更 IMPORT-PSSESSION 和 IMPORT-MODULE 的執行原則
    --------------------------------------------------------------
        錯誤:Import-Module:<檔案名稱> 檔案無法載入,因為這個系統上已停用指令
              碼執行。
    Import-PSSession 和 Export-PSSession Cmdlet 會建立模組,其中包含未經簽署
    的指令檔及格式化檔案。

    若要使用 Import-PSSession 或 Import-Module 匯入這些 Cmdlet 所建立的模組,
    目前工作階段中的執行原則都不得為 Restricted 或 AllSigned (如需 
    Windows PowerShell 執行原則的詳細資訊,請參閱 about_Execution_Policies)。

    若要匯入模組但不變更登錄中針對本機電腦所設定的執行原則,請使用
    Set-ExecutionPolicy 的 Scope 參數,針對單一處理序設定限制較少的執行原則。

    例如,下列命令會以 RemoteSigned 執行原則啟動處理序。此項執行原則變更只會影
    響目前處理序,並不會變更 Windows PowerShell ExecutionPolicy 登錄設定。

        set-executionpolicy -scope process -executionpolicy RemoteSigned
        

    您也可以使用 PowerShell.exe 的 ExecutionPolicy 參數,以限制較少的執行原則來
    啟動單一工作階段。

        powershell.exe -executionpolicy RemoteSigned

    如需 Cmdlet 的詳細資訊,請參閱 Import-PSSession、Export-PSSession 和 
    Import-Module。如需執行原則的詳細資訊,請參閱 about_Execution_Policies。
    如需 PowerShell.exe 主控台說明選項的詳細資訊,請輸入 "powershell.exe -?"。

    如何設定和變更配額
    ----------------------------
        錯誤:從遠端用戶端接收的資料總數超過允許的最大值。

    您可使用配額來保護本機電腦和遠端電腦,避免因不慎或惡意而造成資源過度使用的
    情形。

    基本設定可使用下列配額。

    -- WS-Management 提供者 (WSMan:) 提供數個配額設定,例如 WSMan:\<電腦名稱>
    節點中的 MaxEnvelopeSizeKB 和 MaxProviderRequests 設定,以及 WSMan:\<
    電腦名稱>\Service 節點中的 MaxConcurrentOperations、
    MaxConcurrentOperationsPerUser 和 MaxConnections 設定。
    

    -- 您可以使用 New-PSSessionOption Cmdlet 的 
       MaximumReceivedDataSizePerCommandMB 和 MaximumReceivedObjectSizeMB
       參數以及 $PSSessionOption 喜好設定變數來保護本機電腦。

    -- 您可新增限制至工作階段設定來保護遠端電腦,例如使用 
       Register-PSSessionConfiguration Cmdlet 的 
       MaximumReceivedDataSizePerCommandMB 和 MaximumReceivedObjectSizeMB
       參數。
    

    配額與命令發生衝突時,Windows PowerShell 會產生錯誤。

    若要解決錯誤,請變更遠端命令,使其符合配額。或者,請判斷配額來源,然後增加
    配額讓命令完成。

    例如,下列命令會將遠端電腦上 Microsoft.PowerShell 工作階段設定中的物件大小
    配額從10 MB (預設值) 增加為 11 MB。

        Set-PSSessionConfiguration -name microsoft.powershell ` 
                                   -MaximumReceivedObjectSizeMB 11 -Force 
        

    如需 New-PSSsessionOption Cmdlet 的詳細資訊,
    請參閱 New-PSSessionOption。

    如需 WS-Management 配額的詳細資訊,請參閱 WS-Management 提供者的說明主題 
    (輸入 "get-help WSMan")。

    如何解決逾時錯誤
    -----------------------------
        錯誤:WS-Management 服務無法在 OperationTimeout 指定的時間內完成操作。

    您可使用逾時來保護本機電腦和遠端電腦,避免因不慎或惡意而造成資源過度使用的
    情形。當本機和遠端電腦都設定了逾時,Windows PowerShell 會使用最短的逾時設
    定。

    基本設定可使用下列逾時。

    -- WS-Management 提供者 (WSMan:) 提供數個用戶端和伺服器端的逾時設定,例如
       WSMan:\<電腦名稱> 節點中的 MaxTimeoutms 設定,以及 
       WSMan:\<電腦名稱>\Service 節點中的 EnumerationTimeoutms 和
       MaxPacketRetrievalTimeSeconds 設定。
 
    -- 您可使用 New-PSSessionOption Cmdlet 的 CancelTimeout、IdleTimeout、
       OpenTimeout 和 OperationTimeout 參數以及 $PSSessionOption 喜好設定變數
       來保護本機電腦。

    -- 您也可以在工作階段的工作階段設定中,以程式設計方式設定逾時值來保護遠端
       電腦。

    當逾時值不允許作業完成時,Windows PowerShell 會終止作業並產生錯誤。

    若要解決錯誤,請變更命令使其在逾時間隔內完成,或判斷逾時限制的來源,並增加
    逾時間隔讓命令完成。

    例如,下列命令會使用 New-PSSessionOption Cmdlet 建立工作階段選項物件並將 
    OperationTimeout 值設為 4 分鐘 (以毫秒為單位),接著使用此工作階段選項物
    件來建立遠端工作階段。

        C:\PS> $pso = new-pssessionoption -operationtimeout 240000

        C:\PS> new-pssession -computername Server01 -sessionOption $pso
        

    如需 WS-Management 逾時的詳細資訊,請參閱 WS-Management 提供者的說明主題
    (輸入 "get-help WSMan")。

    如需 New-PSSsessionOption Cmdlet 的詳細資訊,
    請參閱 New-PSSessionOption。

 疑難排解沒有回應的行為

    本節討論阻止命令完成的遠端問題,以及阻止或延遲 Windows PowerShell 提示傳回的
    遠端問題。

    如何中斷命令
    --------------------------
    有些原生 Windows 程式 (例如具有使用者介面的程式、會提示輸入的主控台應用程
    式以及使用 Win32 主控台 API 的主控台應用程式) 在 Windows PowerShell 遠端
    主機中無法正確運作。

    使用這些程式時,可能會出現未預期的行為,例如無輸出、部分輸出或遠端命令無法
    完成。

    若要結束沒有回應的程式,請輸入 CTRL + C。若要檢視已回報的錯誤,請在本機主
    機和遠端工作階段輸入 "$error"。


請參閱
    線上版本:https://go.microsoft.com/fwlink/?LinkID=135188
    about_remote
    about_remote_requirements




目錄