封裝資源並上傳到提取伺服器
下列各節假設您已經設定提取伺服器。 如果尚未設定提取伺服器,您可以使用下列指南:
每個目標節點都設定為下載設定、資源,甚至是報告其狀態。 本文將示範如何上傳資源,讓它們可供下載,並設定用戶端以自動下載資源。 當節點收到指派的設定時,透過提取或推送 (v5),它就會自動從 LCM 中指定的位置下載設定所需的任何資源。
封裝資源模組
可供用戶端下載的每項資源都必須儲存為 .zip
檔案。 下列範例將示範使用 xPSDesiredStateConfiguration \(英文\) 資源所需的步驟。
注意
如果有任何使用 PowerShell 4.0 的用戶端,您將必須壓平合併資源資料夾結構,並移除所有的版本資料夾。 如需詳細資訊,請參閱多個資源版本。
您可以使用任何慣用的公用程式、指令碼或方法來壓縮資源目錄。 在 Windows 中,您可「用滑鼠右鍵按一下」xPSDesiredStateConfiguration
目錄,然後依序選取 [傳送到] 和 [壓縮的資料夾]。
為資源封存命名
資源封存必須使用下列格式來命名:
{ModuleName}_{Version}.zip
在上例中,xPSDesiredStateConfiguration.zip
應該重新命名為 xPSDesiredStateConfiguration_8.4.4.0.zip
。
建立總和檢查碼
一旦將資源模組壓縮並重新命名之後,您必須建立總和檢查碼。 用戶端上的 LCM 會使用總和檢查碼來判斷資源是否已變更且需要再次下載。 您可以使用 New-DSCCheckSum Cmdlet 來建立總和檢查碼,如以下範例所示。
New-DscChecksum -Path .\xPSDesiredStateConfiguration_8.4.4.0.zip
系統將不會顯示任何輸出,但您現在應該會看到 "xPSDesiredStateConfiguration_8.4.4.0.zip.checksum"。 您也可以使用 -Path
參數,針對檔案的目錄執行 New-DSCCheckSum
。 如果總和檢查碼已經存在,您可以使用 -Force
參數強制重新建立它。
儲存資源封存的位置
在 DSC HTTP 提取伺服器上
當您設定 HTTP 提取伺服器時,如設定 DSC HTTP 提取伺服器中所述,您會針對 ModulePath 和 ConfigurationPath 索引碼指定目錄。 ConfigurationPath 索引碼指出應儲存所有 ".mof" 檔案的位置。 ModulePath 指出應儲存所有 DSC 資源模組的位置。
xDscWebService PSDSCPullServer
{
...
ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules"
ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration"
...
}
在 SMB 共用上
如果您指定了 ResourceRepositoryShare,當您設定提取用戶端時,需將封存與總和檢查碼儲存於 ResourceRepositoryShare 區塊的 SourcePath 目錄中。
ConfigurationRepositoryShare SMBPullServer
{
SourcePath = '\\SMBPullServer\Configurations'
}
ResourceRepositoryShare SMBResourceServer
{
SourcePath = '\\SMBPullServer\Resources'
}
如果您只指定 ConfigurationRepositoryShare,當您設定提取用戶端時,則需將封存與總和檢查碼儲存於 ConfigurationRepositoryShare 區塊的 SourcePath 目錄中。
ConfigurationRepositoryShare SMBPullServer
{
SourcePath = '\\SMBPullServer\Pull'
}
更新資源
您可以藉由變更封存名稱中的版本號碼,或建立新的總和檢查碼,來強制節點更新其資源。 提取用戶端將檢查較新版本的必要資源,而且會在其 LCM 重新整理時更新總和檢查碼。