Rozbalení archivu s povoleným ověřováním souborů SHA-256 a přepsáním souboru
Description
Tento příklad ukazuje, jak můžete prostředek použít Archive
k zajištění .zip
rozšíření souboru do konkrétního adresáře a rozbalený obsah odpovídá obsahu v .zip
souboru.
Pokud je nastavená možnost Present
, cesta nastavená na C:\ExampleArchivePath\Archive.zip
a cíl nastavená na C:\ExampleDestinationPath\Destination
, prostředek rozbalí obsah Archive.zip
složkyDestination
, pokud tam ještě nejsou.
Pokud je nastavenaSHA-256
možnost Ověřit na $true
hodnotu a Kontrolní součet , prostředek porovná kontrolní součet SHA256 všech rozbalených souborů s příslušným souborem v souboru .Archive.zip
Pokud kontrolní součet pro jakýkoli rozbalený soubor neodpovídá kontrolnímu součtu daného souboru, Archive.zip
prostředek je mimo požadovaný stav.
V případě vynucení nastavené na $true
přepíše prostředek všechny rozbalené soubory nesprávným kontrolním součtem. Pokud je nastavená hodnota $false
Force , prostředek vyvolá výjimku místo přepsání souborů.
S Invoke-DscResource
Tento skript ukazuje, jak pomocí Archive
prostředku s rutinou Invoke-DscResource
zajistit Archive.zip
, že je rozbalený do složky s ověřením kontrolního Destination
součtu SHA256.
[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
}
}
S konfigurací
Tento fragment kódu ukazuje, jak můžete definovat Configuration
Archive
blok prostředků, abyste se ujistili Archive.zip
, že je rozbalený do složky s ověřením kontrolního Destination
součtu SHA256.
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'
}
}
}
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro