移除具有 SHA-256 檔案驗證的封存
描述
此範例示範如何使用 Archive
資源來確保檔案的內容 .zip
不會擴充至特定目錄。
將 [確定 ] 設定為 Absent
時, [路徑] 會設定為 C:\ExampleArchivePath\Archive.zip
。 和[目的地] 設定為 C:\ExampleDestinationPath\Destination
,如果資源存在,則會從 Destination
資料夾中移除 的內容 Archive.zip
。
將 [驗證 ] 設定為 $true
,並將 [總和檢查碼 ] 設定為 SHA-256
時,資源會比較資料夾中和 中 Destination
每個總和檢查碼的 SHA256 總和 Archive.zip
檢查碼。 如果資料夾中任何檔案 Destination
的總和檢查碼符合 中的 Archive.zip
該檔案總和檢查碼,則資源會不符合所需的狀態。 資源會在 Set 方法執行時移除那些相符的檔案。 它不會移除任何其他檔案。
使用 Invoke-DscResource
此腳本示範如何使用 Archive
資源搭配 Invoke-DscResource
Cmdlet,以確保資料夾中沒有任何內容 Archive.zip
存在 Destination
SHA256 總和檢查碼驗證。
[CmdletBinding()]
param()
begin {
$SharedParameters = @{
Name = 'Archive'
ModuleName = 'PSDscResource'
Properties = @{
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Validate = $true
Checksum = 'SHA-256'
Ensure = 'Absent'
}
}
$NonGetProperties = @(
'Ensure'
'Validate'
'Checksum'
)
}
process {
$TestResult = Invoke-DscResource -Method Test @SharedParameters
if ($TestResult.InDesiredState) {
$QueryParameters = $SharedParameters.Clone()
foreach ($Property in $NonGetProperties) {
$QueryParameters.Properties.Remove($Property)
}
Invoke-DscResource -Method Get @QueryParameters
} else {
Invoke-DscResource -Method Set @SharedParameters
}
}
使用組態
此程式碼片段示範如何使用資源區塊來定義 Configuration
Archive
,以確保資料夾中沒有任何內容 Archive.zip
存在 Destination
SHA256 總和檢查碼驗證。
Configuration RemoveArchiveChecksum {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
Archive ExampleArchive {
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Validate = $true
Checksum = 'SHA-256'
Ensure = 'Absent'
}
}
}