Sdílet prostřednictvím


Odebrání archivu s ověřováním souborů SHA-256

Description

Tento příklad ukazuje, jak můžete prostředek použít Archive k zajištění, aby se obsah souboru ne rozbalil do konkrétního .zip adresáře.

S nastavenou na Absenthodnotu Zajistěte, aby cesta byla nastavena na C:\ExampleArchivePath\Archive.zip. a cíl nastavený na C:\ExampleDestinationPath\Destination, prostředek odebere obsah Archive.zip ze Destination složky, pokud existují.

Pokud je nastavenamožnostSHA-256Ověřit na $true hodnotu a Kontrolní součet , prostředek porovnává kontrolní součet SHA256 všech, které existují ve složce i Archive.zip.Destination Pokud kontrolní součet libovolného souboru ve Destination složce odpovídá kontrolnímu součtu daného souboru, Archive.zipprostředek je mimo požadovaný stav. Prostředek odebere tyto odpovídající soubory při spuštění metody Set . Neodebere žádné jiné soubory.

S Invoke-DscResource

Tento skript ukazuje, jak můžete použít Archive prostředek s rutinou Invoke-DscResource , abyste zajistili, že ve Archive.zip složce neexistuje žádný obsah 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
            Checksum    = 'SHA-256'
            Ensure      = 'Absent'
        }
    }

    $NonGetProperties = @(
        'Ensure'
        'Validate'
        'Checksum'
    )
}

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 ConfigurationArchive blok prostředků, abyste zajistili, že ve Archive.zip složce neexistuje žádný obsah s ověřením kontrolního Destination součtu SHA256.

Configuration RemoveArchiveChecksum {
    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost {
        Archive ExampleArchive {
            Path        = 'C:\ExampleArchivePath\Archive.zip'
            Destination = 'C:\ExampleDestinationPath\Destination'
            Validate    = $true
            Checksum    = 'SHA-256'
            Ensure      = 'Absent'
        }
    }
}