Een archief verwijderen met SHA-256-bestandsvalidatie
Description
In dit voorbeeld ziet u hoe u de Archive
resource kunt gebruiken om ervoor te zorgen dat er geen inhoud van een .zip
bestand wordt uitgebreid naar een specifieke map.
Met Ensure ingesteld op Absent
, het pad ingesteld op C:\ExampleArchivePath\Archive.zip
. en de bestemming ingesteld op C:\ExampleDestinationPath\Destination
, de resource verwijdert de inhoud van Archive.zip
de Destination
map als deze bestaat.
Als de validatie is ingesteld op $true
en Checksum is ingesteld SHA-256
op, vergelijkt de resource de SHA256-controlesom van elke die bestaat in zowel de Destination
map als Archive.zip
. Als de controlesom voor een bestand in de Destination
map overeenkomt met de controlesom van dat bestand, Archive.zip
heeft de resource de gewenste status. De resource verwijdert deze overeenkomende bestanden wanneer de setmethode wordt uitgevoerd. Er worden geen andere bestanden verwijderd.
Met Invoke-DscResource
Dit script laat zien hoe u de Archive
resource met de Invoke-DscResource
cmdlet kunt gebruiken om ervoor te zorgen dat er geen inhoud in Archive.zip
de Destination
map bestaat met SHA256-controlesomvalidatie.
[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
}
}
Met een configuratie
Dit fragment laat zien hoe u een Configuration
met een Archive
resourceblok kunt definiƫren om ervoor te zorgen dat er geen inhoud in Archive.zip
de Destination
map bestaat met SHA256-controlesomvalidatie.
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'
}
}
}