Dela via


Expandera ett arkiv utan filverifiering

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.

Med Se till inställt på Present, är sökvägen inställd på C:\ExampleArchivePath\Archive.zipoch Mål inställd C:\ExampleDestinationPath\Destinationpå expanderar resursen innehållet i Archive.zip till Destination mappen om de inte redan finns där.

Utan egenskaperna Verifiera eller Kontrollerasumma verifierar resursen inte det expanderade innehållet med filerna i Archive.zip, bara att de finns. Det expanderade innehållet i Destination mappen kanske inte matchar innehållet i Archive.zip.

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 den Destination expanderas till mappen.

[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
    }
}

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 den expanderas till Destination mappen.

Configuration ExpandArchiveNoValidation {
    Import-DscResource -ModuleName 'PSDscResources'

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