Sdílet prostřednictvím


Rozbalení archivu pod přihlašovacími údaji bez ověření souboru

Description

Tento příklad ukazuje, jak můžete použít Archive prostředek k zajištění .zip rozšíření souboru do konkrétního adresáře ve zvoleném účtu. To vám umožní určit umístění pro archiv a cíl, která vyžadují autorizaci pro přístup a zápis.

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.

Když je vlastnost Credential nastavená na účet s oprávněními k Archive.zip souboru a Destination složce, prostředek soubor rozbalí .zip jako tento účet. Pokud účet nemá oprávnění k ani jedné cestě, prostředek vyvolá chybu.

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-DscResource zajistit Archive.zip , že se rozbalí do Destination složky pomocí přihlašovacích údajů zadaného účtu ke čtení a zápisu souborů.

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

S konfigurací

Tento fragment kódu ukazuje, jak můžete definovat Configuration blok Archive prostředků, abyste měli jistotu Archive.zip , že se rozbalí do Destination složky pomocí přihlašovacích údajů zadaného účtu ke čtení a zápisu souborů.

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