Dosya doğrulaması olmadan bir kimlik bilgisi altındaki arşivi genişletme
Description
Bu örnekte, bir dosyanın seçilen hesap altında belirli bir .zip
dizine genişletildiğinden emin olmak için kaynağı nasıl kullanabileceğiniz Archive
gösterilmektedir. Bu, arşiv ve hedef için erişim ve yazma için yetkilendirme gerektiren konumlar belirtmenize olanak tanır.
Emin olun olarak ayarlandığındaPresent
, Yol olarak ayarlanır C:\ExampleArchivePath\Archive.zip
ve 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.
Credential özelliği dosya ve Destination
klasör izinleri Archive.zip
olan bir hesaba ayarlandığında, kaynak dosyayı bu hesap olarak genişletir.zip
. Hesabın iki yol için de izinleri yoksa, kaynak bir hata oluşturur.
Validate veya Checksum özellikleri ayarlanmadan, kaynak genişletilmiş içeriği içindeki Archive.zip
dosyalarla doğrulamaz ve yalnızca var olduklarını doğrular. Klasördeki Destination
genişletilmiş içerik içindeki içerikle Archive.zip
eşleşmeyebilir.
Invoke-DscResource ile
Bu betik, dosyaları okumak ve yazmak için belirtilen hesabın Archive
Invoke-DscResource
kimlik bilgilerini kullanarak klasörüne genişletildiğinden Destination
emin olmak Archive.zip
için cmdlet'i ile kaynağı nasıl kullanabileceğinizi gösterir.
[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
}
}
Yapılandırma ile
Bu kod parçacığı, belirli bir Archive
hesabın dosyaları okumak ve yazmak için kimlik bilgilerini kullanarak klasöre genişletildiğinden Destination
emin olmak Archive.zip
için kaynak bloğuyla nasıl tanımlayabileceğinizi Configuration
gösterir.
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'
}
}
}