Aracılığıyla paylaş


Dosya doğrulaması olmadan arşivi genişletme

Description

Bu örnekte, bir dosyanın belirli bir .zip dizine genişletildiğinden Archive emin olmak için kaynağı nasıl kullanabileceğiniz gösterilmektedir.

Emin olun olarak ayarlandığındaPresent, Yol olarak ayarlanır C:\ExampleArchivePath\Archive.zipve Hedef olarak ayarlanırC:\ExampleDestinationPath\Destination. Kaynak, içeriği henüz orada değilse klasörünün Destination içeriğini Archive.zip genişletir.

Validate veya Checksum özellikleri ayarlanmadan, kaynak genişletilmiş içeriği içindeki Archive.zipdosyalarla doğrulamaz ve yalnızca var olduklarını doğrular. Klasördeki Destination genişletilmiş içerik içindeki içerikle Archive.zipeşleşmeyebilir.

Invoke-DscResource ile

Bu betik, klasörüne genişletildiğinden ArchiveDestination emin olmak Archive.zip için cmdlet'i ile Invoke-DscResource kaynağı nasıl kullanabileceğinizi gösterir.

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

Yapılandırma ile

Bu kod parçacığı, klasöre genişletildiğinden emin olmak Archive.zip için kaynak Archive bloğuyla nasıl tanımlayabileceğinizi ConfigurationDestination gösterir.

Configuration ExpandArchiveNoValidation {
    Import-DscResource -ModuleName 'PSDscResources'

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