SHA-256 dosya doğrulamasıyla arşivi kaldırma
Description
Bu örnekte, bir dosyanın içeriğinin Archive
belirli bir .zip
dizine genişletilmemiş olduğundan emin olmak için kaynağı nasıl kullanabileceğiniz gösterilmektedir.
Emin olun olarak ayarlandığında Absent
Yol olarak ayarlanırC:\ExampleArchivePath\Archive.zip
. ve Hedef olarak ayarlanırsa C:\ExampleDestinationPath\Destination
, kaynak klasördeki içeriğini Archive.zip
Destination
(varsa) kaldırır.
Doğrula ayarı $true
ve Sağlama Toplamı olarak ayarlandığındaSHA-256
, kaynak hem klasöründe Archive.zip
hem de içinde bulunan her birinin SHA256 sağlama toplamını Destination
karşılaştırır. Klasördeki herhangi bir dosyanın sağlama toplamı içindeki Destination
bu dosyanın Archive.zip
sağlama toplamıyla eşleşiyorsa, kaynak istenen durumun dışındadır. Kaynak, Set yöntemi çalıştırıldığında bu eşleşen dosyaları kaldırır. Diğer dosyaları kaldırmaz.
Invoke-DscResource ile
Bu betik, SHA256 sağlama toplamı doğrulaması olan klasörde içerik olmadığından emin olmak için cmdlet'iyle Archive.zip
Destination
kaynağı Invoke-DscResource
nasıl kullanabileceğinizi Archive
gösterir.
[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
}
}
Yapılandırma ile
Bu kod parçacığı, SHA256 sağlama toplamı doğrulaması olan klasörde içerik Archive.zip
Destination
olmadığından emin olmak için kaynak Archive
bloğuyla nasıl tanımlayabileceğinizi Configuration
gösterir.
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'
}
}
}