Expandera ett arkiv med SHA-256-filverifiering och filöverskrivning tillåten
Description
Det här exemplet visar hur du kan använda resursen Archive
för att säkerställa att en .zip
fil expanderas till en specifik katalog och att det expanderade innehållet matchar innehållet i .zip
filen.
Med Se till inställt på Present
, anger sökvägen till C:\ExampleArchivePath\Archive.zip
och Målet har angetts till C:\ExampleDestinationPath\Destination
expanderar resursen innehållet i Archive.zip
till Destination
mappen om de inte redan finns där.
Med Validate inställt på $true
och Checksum inställt på SHA-256
jämför resursen SHA256-kontrollsumman för varje expanderad fil med den relevanta filen i Archive.zip
. Om kontrollsumman för en expanderad fil inte matchar kontrollsumman för filen i Archive.zip
är resursen inte i önskat tillstånd.
Med Force inställt på $true
skriver resursen över alla expanderade filer med en felaktig kontrollsumma. Om Force hade angetts till $false
skulle resursen utlösa ett undantag i stället för att skriva över filerna.
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 Archive.zip
att expanderas till 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
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
}
}
Med en konfiguration
Det här kodfragmentet visar hur du kan definiera en Configuration
med ett Archive
resursblock för att säkerställa Archive.zip
att expanderas till Destination
mappen med SHA256-kontrollsummaverifiering.
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'
}
}
}
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