Varsayılan dosya doğrulama ve dosya üzerine yazma izin verilen bir arşivi genişletme
Description
Bu örnekte, bir dosyanın belirli bir .zip
dizine genişletildiğinden Archive
ve genişletilmiş içeriğin dosyadaki .zip
içerikle eşleştiğinden emin olmak için kaynağı nasıl kullanabileceğiniz gösterilmektedir.
Emin olun olarak ayarlandığındaPresent
, Yol olarak ayarlanır C:\ExampleArchivePath\Archive.zip
ve Hedef olarak ayarlanırC:\ExampleDestinationPath\Destination
. Kaynak, içeriği henüz orada değilse klasörünün Destination
içeriğini Archive.zip
genişletir.
Validate ayarı ve $true
Sağlama Toplamı ayarlanmadığından, kaynak genişletilmiş her dosyanın LastWriteTime özelliğini içindeki Archive.zip
ilgili dosyanın LastWriteTime özelliğiyle karşılaştırır. Klasördeki Destination
herhangi bir içeriğin değerleri içindeki Archive.zip
değerle eşleşmiyorsa, kaynak istenen durumun dışındadır.
Zorla olarak ayarlandığında$true
, kaynak genişletilmiş dosyaların üzerine yanlış LastWriteTime yazar. Zorla olarak ayarlandıysa$false
, kaynak dosyaların üzerine yazmak yerine bir özel durum oluşturur.
Invoke-DscResource ile
Bu betik, varsayılan doğrulama ile klasörüne genişletildiğinden Invoke-DscResource
Destination
emin olmak Archive.zip
için cmdlet'i ile kaynağı 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
Force = $true
Ensure = 'Present'
}
}
$NonGetProperties = @(
'Validate'
'Force'
'Ensure'
)
}
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ığı, varsayılan doğrulama ile klasörüne genişletildiğinden emin olmak Archive.zip
için kaynak Archive
bloğuyla nasıl bir tanımlayabileceğinizi Configuration
Destination
gösterir.
Configuration ExpandArchiveDefaultValidationAndForce {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
Archive ExampleArchive {
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Validate = $true
Force = $true
Ensure = 'Present'
}
}
}