Ta bort ett arkiv med SHA-256-filverifiering
Description
Det här exemplet visar hur du kan använda resursen Archive
för att säkerställa att inget innehåll i en .zip
fil expanderas till en specifik katalog.
Med Se till inställd på Absent
anger du Sökväg till C:\ExampleArchivePath\Archive.zip
. och målinställningen är C:\ExampleDestinationPath\Destination
, tar resursen bort innehållet i Archive.zip
från Destination
mappen om de finns.
Med Validate inställt på $true
och Checksum inställt på SHA-256
jämför resursen SHA256-kontrollsumman Destination
för varje som finns i både mappen och Archive.zip
. Om kontrollsumman för en fil i Destination
mappen matchar kontrollsumman för filen i Archive.zip
är resursen inte i önskat tillstånd. Resursen tar bort de matchande filerna när dess Set-metod körs. Det tar inte bort några andra filer.
Med Invoke-DscResource
Det här skriptet visar hur du kan använda resursen Archive
med cmdleten Invoke-DscResource
för att säkerställa att det inte finns något innehåll i Archive.zip
Destination
mappen med SHA256-kontrollsummaverifiering.
[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
}
}
Med en konfiguration
Det här kodfragmentet visar hur du kan definiera en Configuration
med ett Archive
resursblock för att säkerställa att det inte finns något innehåll i Archive.zip
Destination
mappen med SHA256-kontrollsummaverifiering.
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'
}
}
}
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för