Een archief uitvouwen onder een referentie zonder bestandsvalidatie
Description
In dit voorbeeld ziet u hoe u de Archive
resource kunt gebruiken om ervoor te zorgen dat een .zip
bestand wordt uitgebreid naar een specifieke map onder een gekozen account. Hiermee kunt u locaties opgeven voor het archief en de bestemming waarvoor autorisatie is vereist voor toegang en schrijven.
Met Ensure ingesteld op Present
, het pad ingesteld op C:\ExampleArchivePath\Archive.zip
en de doel ingesteld C:\ExampleDestinationPath\Destination
op , wordt de inhoud van Archive.zip
de resource uitgebreid naar de Destination
map als ze er nog niet zijn.
Als de eigenschap Referentie is ingesteld op een account met machtigingen voor het Archive.zip
bestand en de Destination
map, wordt het .zip
bestand als dat account uitgebreid. Als het account geen machtigingen heeft voor een van beide paden, genereert de resource een fout.
Zonder de eigenschappen Validate of Checksum ingesteld, controleert de resource de uitgevouwen inhoud niet met de bestanden in Archive.zip
, alleen die er bestaan. De uitgevouwen inhoud in de Destination
map komt mogelijk niet overeen met de inhoud in Archive.zip
.
Met Invoke-DscResource
Dit script laat zien hoe u de Archive
resource met de Invoke-DscResource
cmdlet kunt gebruiken om ervoor te zorgen dat Archive.zip
deze wordt uitgebreid naar de Destination
map, met behulp van de referenties van een opgegeven account voor het lezen en schrijven van de bestanden.
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential
)
begin {
$SharedParameters = @{
Name = 'Archive'
ModuleName = 'PSDscResource'
Properties = @{
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Credential = $Credential
Ensure = 'Present'
}
}
$NonGetProperties = @(
'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
}
}
Met een configuratie
Dit fragment laat zien hoe u een Configuration
met een Archive
resourceblok kunt definiƫren om ervoor te zorgen dat Archive.zip
deze wordt uitgebreid naar de Destination
map, met behulp van de referenties van een opgegeven account voor het lezen en schrijven van de bestanden.
Configuration ExpandArchiveNoValidationCredential {
param(
[Parameter(Mandatory)]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$Credential
)
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
Archive ExampleArchive {
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Credential = $Credential
Ensure = 'Present'
}
}
}