Delen via


Een archief uitbreiden 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.

Met Ensure ingesteld op Present, het pad ingesteld op C:\ExampleArchivePath\Archive.zip, en de bestemming ingesteld C:\ExampleDestinationPath\Destinationop , de resource wordt de inhoud van Archive.zip de Destination map uitgebreid als ze er nog niet zijn.

Zonder de eigenschappen Validate of Checksum ingesteld, controleert de resource niet de uitgebreide inhoud met de bestanden in Archive.zip, alleen die bestaan. De uitgebreide 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.

[CmdletBinding()]
param()

begin {
    $SharedParameters = @{
        Name       = 'Archive'
        ModuleName = 'PSDscResource'
        Properties = @{
            Path        = 'C:\ExampleArchivePath\Archive.zip'
            Destination = 'C:\ExampleDestinationPath\Destination'
            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.

Configuration ExpandArchiveNoValidation {
    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost {
        Archive ExampleArchive {
            Path        = 'C:\ExampleArchivePath\Archive.zip'
            Destination = 'C:\ExampleDestinationPath\Destination'
            Ensure      = 'Present'
        }
    }
}