Sdílet prostřednictvím


Rozbalení archivu bez ověření souboru

Description

Tento příklad ukazuje, jak pomocí Archive prostředku zajistit .zip , aby se soubor rozbalil do konkrétního adresáře.

Pokud je nastavená možnost ZajistitPresent, cesta je nastavená na C:\ExampleArchivePath\Archive.zipa cíl nastavená na C:\ExampleDestinationPath\Destination, prostředek rozbalí obsah Archive.zipDestination složky, pokud tam ještě nejsou.

Bez sady vlastností Validate nebo Checksum prostředek neověřuje rozbalený obsah se soubory pouze Archive.zipv tom, že existují. Rozbalený obsah ve Destination složce nemusí odpovídat obsahu v Archive.zip.

S Invoke-DscResource

Tento skript ukazuje, jak můžete pomocí prostředku s Archive rutinou Invoke-DscResourceDestination zajistitArchive.zip, že se rozbalí do složky.

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

S konfigurací

Tento fragment kódu ukazuje, jak můžete definovat Configuration blok Archive prostředků, abyste zajistili Archive.zip , že se rozbalí do Destination složky.

Configuration ExpandArchiveNoValidation {
    Import-DscResource -ModuleName 'PSDscResources'

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