共用方式為


IIS:啟用 IIS 遠端管理

您可以利用 Windows PowerShell 遠端功能從遠端伺服器加速遠端管理工作。

Jason Helmick

有你想要遠端系統管理 IIS 伺服器,更改其配置或添加一個簡單的 Web 網站 — 和這樣做從遠端位置嗎? 出於顯而易見的安全不能只是打開IIS 管理員和連接到遠端伺服器。 你打算管理每個 IIS 伺服器必須啟用、 配置和分配證書的 HTTPS 的遠端系統管理。

啟用遠端 IIS 使用IIS 管理員圖形化的管理是快速和容易的但只有如果你坐在 Web 服務器或使用遠端桌面協定 (RDP)。 如果你有幾個需要遠端系統管理的 Web 服務器 — 或如果,像我一樣,你要使用的伺服器核心 — GUIIIS 管理員不是實際的或甚至可能。

您可以啟用任何數量的使用 Windows PowerShell 的遠端 Web 服務器上的遠端系統管理。 你將能夠這樣做盡可能多的 Web 服務器,您需要一次全部。 您將使用 Windows PowerShell 與一種稱為 Windows PowerShell 遠端處理的特殊功能。

你就必須啟用 Windows PowerShell 所有 IIS 伺服器上的遠端處理。 沒有辦法避免的。 啟用遠端處理的最佳方法是通過群組原則物件 (GPO)。 查閱的免費的電子書,如果你不知道這樣做或需要有關進程的詳細資訊,"的 PowerShell 遠端處理秘密,"由DonJones和博士。 托拜西 Weltner。

你說之前,"我不能做這個,"坐下來和閱讀本指南。 它設置在測試環境中,邀請朋友安全檢查,並得到許可,使遠端處理。 如果您的 Web 服務器正在運行 Windows 伺服器 2012 年,則說明您已經啟用了遠端處理。 如果不是,你要想在這裡所述的步驟之前完成這。

Windows PowerShell 遠端處理是完全安全的你將來會需要的許多 IIS 相關的管理工作。 啟用遠端系統管理的過程並不複雜,但有幾個步驟。 在這裡是什麼期望:

  1. 創建每個伺服器的 Windows PowerShell 的會話
  2. 安裝 IIS Web 管理服務 (WMSvc)
  3. 啟用 IIS WMSvc
  4. 啟動 IIS WMSvc
  5. 替換臨時證書
  6. 使用IIS 管理員連接

在此示例中,我就會啟用遠端系統管理四個名為 Web1、 Web2、 Web3 和 Web4 的 IIS 伺服器上 — 都在同一時間。 讓他們工作之後, 我會替換臨時證書的受信任證書從 Active Directory 憑證服務 (AD CS)。

1. 對於 Web 服務器創建 Windows PowerShell 遠端處理會話

第一步是為 Web 服務器創建 Windows PowerShell 遠端處理會話。 首先創建一個包含 Web 服務器的電腦名稱稱的變數"$Servers"。 然後創建和會話存儲在一個變數中"$Sessions":

PS> C:\> $Servers = 'web1', 'web2', 'web3', 'web4' PS> C:\> $Sessions = New-PSSession –ComputerName $Servers

你需要這兩個變數在整個過程中。 Don不嘗試縮短這對單一的一句話。 您可以填寫 $Servers 從文字檔、 CSV 檔或活動目錄使用 Get ADComputer Cmdlet,但那是另一個主題。

2. 安裝 IIS WMSvc

IIS WMSvc 是一個附加的元件,您需要添加 IIS。 Windows PowerShell 使用遠端處理會話,讓它更容易 (第一行不會是有必要的如果您使用的 Windows 伺服器 2012年):

PS C:\> Invoke-Command –Session $Sessions –ScriptBlock {Import-Module ServerManager} PS C:\> Invoke-Command –Session $Sessions –ScriptBlock {Add-WindowsFeature Web-Mgmt-Service}

此時,您已經安裝了 IIS WMSvc。 啟用該服務是下一步。

3. 啟用 IIS WMSvc

管理服務的預設設置被設置為允許 Windows 憑據、 使用埠 8172 和應用一個臨時證書。 現在使用這些設置和更改的臨時證書到一個受信任在這一進程的結束。 若要啟用管理服務,更改遠端 Web 服務器上的登錄機碼:

PS C:\> Invoke-command –Session $Sessions -ScriptBlock{Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WebManagement\Server -Name EnableRemoteManagement -Value 1}

現在,啟用了管理服務,您可以啟動它。

4. 啟動 IIS WMSvc

預設情況下,不被啟動 IIS WMSvc。 事實上,該服務設置為手動啟動。 如果你在將來重新開機 Web 服務器,則管理服務不會啟動。 將啟動類型更改為自動,,然後啟動服務:

PS C:\> Invoke-command –Session $Sessions -ScriptBlock {Set-Service -name WMSVC -StartupType Automatic} PS C:\> Invoke-command –Session $Sessions -ScriptBlock {Start-service WMSVC}

此時,管理服務正在運行,您可以遠端系統管理使用IIS 管理員的 Web 服務器。 唯一的問題是使用的證書不受信任和臨時,所以將此證書替換為一個受信任。

5. 替換臨時證書

有許多用於替換臨時證書,包括新的 IIS 8 功能有中央的憑證存放區區中的證書的選項。 這是我的最愛。

我去複製和從一個.pfx 檔,安裝新的證書,然後設置新的證書的 Web 網站綁定的簡要過程。 此示例具有一個萬用字元證書 C:\_.Company.loc.pfx 我本地電腦上。 第一,將證書 (.pfx 檔) 複製到遠端 Web 服務器,然後使用 CertUtil.exe 安裝證書:

PS C:\> $Servers | Foreach-Object {Copy-Item -Path C:\_.Company.loc.pfx -Destination "\\$_\c$"} PS> c:\> Invoke-Command -Session $Sessions {certutil -p P@ssw0rd -importpfx c:\_.company.loc.pfx}

請注意我以明文形式發送密碼。 Windows PowerShell 遠端處理是完全安全和加密。 安裝好證書後,它是重要的是要記住要從 Web 服務器中刪除的.pfx 檔:

PS> $Servers | Foreach-Object {Remove-Item -Path "\\$_\c$\_.Company.loc.pfx"}

此時,你需要的已安裝的證書的指紋,你就需要更改管理服務的綁定。 要做到這一點,你需要 IIS 提供程式。 通過載入 WebAdministration 模組在遠端 Web 服務器上的啟動:

PS C:\> Invoke-Command -Session $Sessions {Import-Module WebAdministration}

獲得該證書的指紋以使新的綁定:

PS C:\> Invoke-Command -Session $Sessions {$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where {$_.subject -like "*company*"} | Select-Object -ExpandProperty Thumbprint}

刪除舊的 SSL 綁定:

PS C:\> Invoke-command -Session $Sessions {Remove-Item -Path IIS:\SslBindings\0.0.0.0!8172}

添加新的 SSL 綁定使用的證書指紋:

PS C:\> Invoke-Command -Session $Sessions {Get-Item -Path "cert:\localmachine\my\$cert" | New-Item -Path IIS:\SslBindings\0.0.0.0!8172}

現在,您已準備好要連接到的 Web 服務器使用IIS 管理員的功能。

6. 連接到遠端 Web 服務器使用IIS 管理員

最後一步是打開您的IIS 管理員,選擇左側窗格中的開始頁並在中心窗格中選擇"連接到伺服器"。提供伺服器名稱和您的憑據,你會看到在IIS 管理員的功能窗格中顯示一個新的連接。

因為我很有點執行此操作,我花了以前的命令,把它們放到腳本中。 如果你認為你可能需要不止一次這樣做 — 和我敢肯定你會 — 它最好始終自動執行此過程。

Jason Helmick

Jason Helmick 作為企業顧問、 培訓師和作者在它已超過 20 年的經驗。 作為介面技術培訓的 Windows PowerShell 技術主任,他專注于自動化與 Active Directory 和 IIS。 你可以看到更多有關 IIS 在他即將出版的新書從曼甯的出版物,"瞭解 Windows IIS 在為期一個月的午餐。

相關的內容