Windows 遠端管理的安裝和設定

若要讓 Windows 遠端管理 (WinRM) 腳本執行,以及 讓 Winrm 命令行工具執行資料作業,必須同時安裝及設定 WinRM。

下列元素也相依於 WinRM 組態:

WinRM 的安裝位置

WinRM 會自動隨所有目前支援的 Windows 作業系統版本一起安裝。

WinRM 和 IPMI 的設定

下列 WinRM 和 Intelligent Platform Management Interface (IPMI) WMI 提供者 元件會隨操作系統一起安裝:

  • WinRM 服務會在 Windows Server 2008 和更新版本上自動啟動。 在舊版 Windows(用戶端或伺服器)上,您必須手動啟動服務。
  • 根據預設,不會設定 WinRM 接聽程式 。 即使 WinRM 服務正在執行,也無法接收或傳送要求數據的 WS-Management 通訊協定 訊息
  • 因特網聯機防火牆 (ICF) 會封鎖對埠的存取。

winrm 命令提示字元中輸入下列命令,以使用 命令來尋找接聽程式和位址:

winrm enumerate winrm/config/listener

若要檢查組態設定的狀態,請輸入下列命令:

winrm get winrm/config

快速預設組態

在本機計算機上啟用 WS-Management 通訊協定,並使用 命令 winrm quickconfig設定遠端管理的預設組態。

winrm quickconfig命令(可以縮寫為 winrm qc)會執行下列作業:

  • 啟動 WinRM 服務,並將服務啟動類型設定為 自動啟動
  • 針對在任何IP位址上使用 HTTP 或 HTTPS 來傳送和接收 WS 管理通訊協定 訊息 的埠設定接聽程式。
  • 定義 WinRM 服務的 ICF 例外狀況,並開啟 HTTP 和 HTTPS 的埠。

注意

命令 winrm quickconfig 只會針對目前的使用者配置檔建立防火牆例外狀況。 如果防火牆配置檔因任何原因而變更,則若要啟用新配置檔的防火牆例外狀況,請執行 winrm quickconfig (否則可能不會啟用例外狀況)。

若要擷取自定義組態的相關信息,請在命令提示字元中輸入下列命令:

winrm help config

使用預設設定設定 WinRM

  1. 在以本機電腦系統管理員帳戶身分執行的命令提示字元中,執行此命令:

    winrm quickconfig
    

    如果您未以本機計算機系統管理員身分執行,請從 [開始] 功能表中選取 [以系統管理員身分執行],或在命令提示字元中使用 Runas 命令。

  2. 當工具顯示 [y/n]?進行這些變更時,請輸入 y

    如果設定成功,則會顯示下列輸出。

    WinRM has been updated for remote management.
    
    WinRM service type changed to delayed auto start.
    WinRM service started.
    Created a WinRM listener on https://* to accept WS-Man requests to any IP on this machine.
    
  3. 保留 WinRM 用戶端和伺服器元件的預設設定,或加以自定義。 例如,您可能需要將特定遠端電腦新增至用戶端組態 TrustedHosts 清單。

    當無法建立相互驗證時,請設定受信任的主機清單。 Kerberos 允許相互驗證,但無法在工作組中使用;只有網域。 為工作組設定受信任的主機時,最佳做法是盡可能限制清單。

  4. 輸入下列命令來建立 HTTPS 接聽程式:

    winrm quickconfig -transport:https
    

    注意

    開啟埠 5986,讓 HTTPS 傳輸能夠運作。

接聽程式和 WS-Management 通訊協定預設設定

若要取得接聽程式組態,請在命令提示字元輸入 winrm enumerate winrm/config/listener 。 接聽程式是由傳輸 (HTTP 或 HTTPS) 和 IPv4 或 IPv6 位址所定義。

此命令 winrm quickconfig 會為接聽程式建立下列預設設定。 您可以建立多個接聽程式。 如需詳細資訊,請在命令提示字元輸入 winrm help config

位址

指定要建立此接聽程序的位址。

傳輸

指定要用來傳送和接收 WS-Management 通訊協定的要求和回應的傳輸。 此值必須是 HTTP 或 HTTPS。 預設值為 HTTP

連接埠

指定為其建立此接聽程式的 TCP 連接埠。

WinRM 2.0:預設 HTTP 埠為 5985。

主機名稱

指定 WinRM 服務執行所在的電腦的主機名。 此值必須是完整功能變數名稱、IPv4 或 IPv6 常值字串,或是通配符。

已啟用

指定接聽程式已啟用或停用。 預設值是 True

URLPrefix

指定要接受 HTTP 或 HTTPS 要求的 URL 前置詞。 此字串只包含 a-z、A-Z、9-0、底線 (_) 和斜線 (/) 字元。 字串不得以斜線開頭或結尾為斜線 (/)。 例如,如果電腦名稱是 SampleMachine,則 WinRM 用戶端會在目的地位址中指定 https://SampleMachine/<URLPrefix> 。 預設 URL 前置詞為 wsman

CertificateThumbprint

指定服務憑證的指紋。 這個值代表憑證 [ 指紋 ] 字段中找到的兩位數十六進位值的字串。 此字串包含憑證的SHA-1哈希。 憑證將用於用戶端憑證式驗證。 憑證只能對應至本機用戶帳戶。 它們不適用於網域帳戶。

ListeningOn

指定接聽程式所使用的 IPv4 和 IPv6 位址。 例如: 111.0.0.1, 111.222.333.444, ::1, 1000:2000:2c:3:c19:9ec8:a715:5e24, 3ffe:8311:ffff:f70f:0:5efe:111.222.333.444, fe80::5efe:111.222.333.444%8, fe80::c19:9ec8:a715:5e24%6

通訊協定預設設定

許多組態設定,例如 MaxEnvelopeSizekbSoapTraceEnabled,會決定 WinRM 用戶端和伺服器元件如何與 WS-Management 通訊協議互動。 下列各節說明可用的組態設定。

MaxEnvelopeSizekb

指定以 KB 為單位的簡單物件存取通訊協定 (SOAP) 資料上限。 預設值為 150 KB。

注意

如果 MaxEnvelopeSizekb 設定為大於1039440的值,則不支援此行為。

MaxTimeoutms

指定可用於要求以外的 Pull 任何要求之毫秒的逾時上限。 預設值為 60000。

MaxBatchItems

指定可在回應中使用的 Pull 項目數目上限。 預設值為32000。

MaxProviderRequests

指定服務所允許的並行要求數目上限。 預設值為 25。

WinRM 2.0:此設定已被取代,且設定為唯讀。

WinRM 用戶端預設組態設定

WinRM 的用戶端版本具有下列預設組態設定。

NetworkDelayms

指定用戶端電腦將等候以配合網路延遲時間的額外時間 (以毫秒為單位)。 預設值為 5000 毫秒。

URLPrefix

指定要接受 HTTP 或 HTTPS 要求的 URL 前置詞。 默認 URL 前置詞為 wsman

AllowUnencrypted

允許用戶端電腦要求未加密的流量。 根據預設,用戶端計算機需要加密的網路流量,而此設定為 False

基本

允許用戶端電腦使用基本驗證。 基本驗證是使用純文字,將使用者名稱與密碼傳送至伺服器或 Proxy 的配置。 這個方法是最不安全的驗證方法。 預設值為 True

Digest

允許用戶端使用摘要式驗證。 摘要式驗證是一種查問-回應配置,會針對該查問使用伺服器特定的資料字串。 只有用戶端電腦可以起始摘要式驗證要求。

用戶端計算機會將要求傳送至伺服器進行驗證,並從伺服器接收令牌字串。 然後用戶端計算機會傳送資源要求,包括使用者名稱和密碼編譯哈希,以及與令牌字串結合的密碼編譯哈希。

HTTP 和 HTTPS 都支援摘要式驗證。 WinRM Shell 用戶端腳本和應用程式可以指定摘要式驗證,但 WinRM 服務不接受摘要式驗證。 預設值為 True

注意

不被視為安全的透過 HTTP 進行摘要式驗證。

憑證

允許用戶端使用用戶端憑證型驗證。 憑證式驗證是一種配置,其中伺服器會驗證 X509 憑證所識別的用戶端。 預設值為 True

Kerberos

允許用戶端使用 Kerberos 驗證。 Kerberos 驗證是一種配置,讓用戶端與伺服器可利用 Kerberos 憑證進行互相驗證。 預設值為 True

交涉

允許用戶端使用 交涉 驗證。 交涉驗證是一種配置,讓用戶端可將要求傳送到伺服器以進行驗證。

伺服器會決定是否要使用 Kerberos 通訊協定或 NT LAN 管理員(NTLM)。 選取 Kerberos 通訊協定以驗證網域帳戶。 已針對本機電腦帳戶選取NTLM。 使用者名稱必須以 domain\user_name 格式指定給網域使用者。 使用者名稱必須以 伺服器電腦上的本機使用者server_name\user_name 格式指定。 預設值為 True

CredSSP

允許用戶端使用認證安全性支援提供者 (CredSSP) 驗證。 CredSSP 可讓應用程式將使用者的認證從用戶端計算機委派給目標伺服器。 預設值為 False

DefaultPorts

指定客戶端用於 HTTP 或 HTTPS 的連接埠。

WinRM 2.0:預設 HTTP 埠為 5985,預設 HTTPS 連接埠為 5986。

TrustedHosts

指定受信任的遠端計算機清單。 工作組中的其他電腦或不同網域中的計算機應該新增至此清單。

注意

信任主機清單中的計算機不會通過驗證。 用戶端可能會將認證資訊傳送至這些計算機。

如果為受信任的主機指定 IPv6 位址,則地址必須以方括弧括住,如下列 Winrm 公用程式命令所示:

winrm set winrm/config/client '@{TrustedHosts ="[0:0:0:0:0:0:0:0]"}'

如需如何將電腦新增至 TrustedHosts 清單的詳細資訊,請輸入 winrm help config

WinRM 服務預設組態設定

WinRM 的服務版本具有下列預設組態設定。

RootSDDL

指定控制接聽程式遠端訪問的安全性描述項。 預設值為 O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;ER)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)

MaxConcurrentOperations

並行作業的最大數目。 預設值為 100。

WinRM 2.0:設定 MaxConcurrentOperations 已被取代,且設定為唯讀。 此設定已由 MaxConcurrentOperationsPerUser取代。

MaxConcurrentOperationsPerUser

指定任何用戶可以在相同系統上遠端開啟的並行作業數目上限。 預設值是 1500。

EnumerationTimeoutms

指定訊息之間的 Pull 閑置逾時,以毫秒為單位。 預設值為 60000。

MaxConnections

指定服務可以同時處理的作用中要求數目上限。 預設值為 300。

WinRM 2.0:預設值為 25。

MaxPacketRetrievalTimeSeconds

指定 WinRM 服務擷取封包所花費的時間長度上限。 預設值是 120 秒。

AllowUnencrypted

允許用戶端電腦要求未加密的流量。 預設值為 False

基本

允許 WinRM 服務使用基本身份驗證。 預設值為 False

憑證

允許 WinRM 服務使用用戶端憑證式驗證。 預設值為 False

Kerberos

允許 WinRM 服務使用 Kerberos 驗證。 預設值為 True

交涉

允許 WinRM 服務使用交涉驗證。 預設值為 True

CredSSP

允許 WinRM 服務使用認證安全性支援提供者 (CredSSP) 驗證。 預設值為 False

CbtHardeningLevel

設定驗證要求之通道繫結權杖需求的原則。 預設值為 「寬鬆」。

DefaultPorts

指定 WinRM 服務用於 HTTP 或 HTTPS 的連接埠。

WinRM 2.0:預設 HTTP 埠為 5985。 默認 HTTPS 連接埠為 5986。

IPv4Filter 和 IPv6Filter

指定接聽程式可以使用的 IPv4 或 IPv6 位址。 預設值為 IPv4Filter = *IPv6Filter = *

  • IPv4:IPv4 常值字串包含四個虛線十進位數,每個數位範圍介於 0 到 255 之間。 例如:192.168.0.0。
  • IPv6:IPv6 常值字串會以括弧括住,並包含以冒號分隔的十六進位數位。 例如:[::1] 或 [3ffe:ffff::6ECB:0101]。

EnableCompatibilityHttpListener

指定是否啟用相容性 HTTP 接聽程式。 如果此設定為 True,則接聽程式除了埠 5985 之外,也會接聽埠 80。 預設值為 False

EnableCompatibilityHttpsListener

指定是否啟用相容性 HTTPS 接聽程式。 如果此設定為 True,則接聽程式除了埠 5986 之外,也會接聽埠 443。 預設值為 False

Winrs 預設組態設定

此命令 winrm quickconfig 也會設定 Winrs 預設設定。

AllowRemoteShellAccess

啟用遠端殼層的存取。 如果您將此參數設定為 False,伺服器會拒絕伺服器的新遠端殼層連線。 預設值為 True

IdleTimeout

指定遠端殼層在遠端殼層中沒有用戶活動時,保持開啟的毫秒數上限。 遠端殼層會在該時間之後刪除。

WinRM 2.0:預設值為180000。 最小值為 60000。 將此值設定為小於 60000 不會影響逾時行為。

MaxConcurrentUsers

指定可透過遠端殼層,在相同電腦上同時執行遠端操作的使用者數目上限。 如果新的遠端殼層連線超過限制,計算機就會拒絕這些連線。 預設值為 5。

MaxShellRunTime

指定允許遠端命令或文稿執行之毫秒的最大時間。 預設值為 28800000。

WinRM 2.0:此 MaxShellRunTime 設定設為唯讀。 變更的值 MaxShellRunTime 不會影響遠端殼層。

MaxProcessesPerShell

指定允許任何殼層操作啟動的處理程序數目上限。 值為 0 可允許無限數目的處理程序。 預設值是 15。

MaxMemoryPerShellMB

指定每個殼層配置的記憶體數量上限,包括殼層的子進程。 預設值為 150 MB。

MaxShellsPerUser

指定任何使用者可以在相同電腦上遠端開啟的並行殼層數目上限。 如果啟用此原則設定,如果使用者的計數超過指定的限制,將無法開啟新的遠端殼層。 如果停用或未設定此原則設定,則限制預設會設定為每個使用者的五個遠端殼層。

使用組策略設定 WinRM

使用組策略編輯器,為企業中的計算機設定 Windows 遠端殼層和 WinRM。

若要使用組策略進行設定:

  1. 開啟命令提示字元視窗,以系統管理員身分執行。
  2. 在命令提示字元中,輸入 gpedit.msc。 [ 組策略物件編輯器 ] 視窗隨即開啟。
  3. 在 [計算機設定\系統管理範本\Windows 元件] 底下尋找 Windows 遠端管理和 Windows 遠端殼層組策略物件 (GPO)。
  4. 在 [ 擴充] 索引 標籤上,選取設定以查看描述。 按兩下設定進行編輯。

Windows 防火牆和 WinRM 2.0 埠

從 WinRM 2.0 開始,所 Winrm quickconfig 設定的預設接聽程式埠為埠 5985 以進行 HTTP 傳輸,以及 HTTPS 的埠 5986。 WinRM 接聽程式可以在任何任意埠上設定。

如果您將計算機升級至 WinRM 2.0,則會移轉先前設定的接聽程式,但仍會接收流量。

WinRM 安裝和設定注意事項

除了 之外,WinRM 並不相依於任何其他服務 WinHttp。 如果 IIS 管理服務安裝在同一部電腦上,您可能會看到指出在 網際網路資訊服務 之前無法載入 WinRM 的訊息(IIS)。 不過,WinRM 實際上並不相依於 IIS。 這些訊息是因為載入順序可確保 IIS 服務在 HTTP 服務之前啟動。 WinRM 需要 WinHTTP.dll 註冊。

如果計算機上已安裝ISA2004防火牆用戶端,可能會導致 Web Services for Management (WS-Management) 用戶端停止回應。 若要避免此問題,請安裝ISA2004防火牆 SP1。

如果兩個具有不同IP位址的接聽程式服務設定為相同的埠號碼和計算機名稱,則WinRM只會接聽或接收一個位址上的訊息。 使用此方法是因為 WS-Management 通訊協定所使用的 URL 前置詞相同。

IPMI 驅動程式和提供者安裝注意事項

驅動程式可能不會偵測到來自 Microsoft 的 IPMI 驅動程式是否存在。 如果驅動程式無法啟動,您可能需要將其停用。

如果基礎板管理控制器 (BMC) 資源出現在系統 BIOS 中,則 ACPI (隨插即用) 會偵測 BMC 硬體,並自動安裝 IPMI 驅動程式。 隨插即用 支援可能不存在於所有 BMC 中。 如果 隨插即用 偵測到 BMC,則在安裝硬體管理元件之前,[未知的裝置] 會出現在 裝置管理員 中。 安裝驅動程式時,MICROSOFT ACPI 一般 IPMI 相容裝置的新元件會出現在 裝置管理員 中。

如果您的系統不會自動偵測 BMC 並安裝驅動程式,但在安裝程式期間偵測到 BMC,請建立 BMC 裝置。 若要建立裝置,請在命令提示字元中輸入下列命令:

Rundll32 ipmisetp.dll, AddTheDevice

執行此命令之後,就會建立IPMI裝置,並出現在 裝置管理員 中。 如果您卸載硬體管理元件,則會移除裝置。

如需詳細資訊,請參閱 硬體管理簡介

IPMI 提供者會將硬體類別 放在 WMI 的 root\hardware 命名空間 中。 如需硬體類別的詳細資訊,請參閱 IPMI 提供者。 如需 WMI 命名空間的詳細資訊,請參閱 WMI 架構

WMI 外掛程式組態注意事項

從 Windows 8 和 Windows Server 2012 開始, WMI 外掛程式 有自己的安全性設定。 對於一般或進階使用者,而非系統管理員,若要能夠使用WMI外掛程式,請在接聽程式設定之後啟用該使用者的存取權。 透過其中一個步驟設定使用者以遠端訪問 WMI

  • 執行 lusrmgr.msc ,在 [本機使用者和群組] 視窗中,將使用者新增至WinRMRemoteWMIUsers__群組

  • 使用 Winrm 命令列工具來設定 WMI 外掛程式命名空間的安全性描述項目:

    winrm configSDDL http://schemas.microsoft.com/wbem/wsman/1/wmi/ WmiNamespace
    

當使用者介面出現時,請新增使用者。

設定使用者以遠端存取 WMI 之後,您必須設定 WMI 以允許使用者存取外掛程式。 若要允許存取,請執行 wmimgmt.msc,以修改 WMI 控件視窗中要存取之命名空間WMI 安全性

管理的大部分 WMI 類別都位於 root\cimv2 命名空間中。