기본 파일 유효성 검사 및 파일 덮어쓰기가 허용된 보관 파일 확장
설명
이 예제에서는 리소스를 Archive
사용하여 파일이 특정 디렉터리로 .zip
확장되고 확장된 콘텐츠가 파일의 내용과 일치하는지 확인하는 방법을 보여 줍니다 .zip
.
Ensure를 설정Present
, 경로로 C:\ExampleArchivePath\Archive.zip
설정 및 대상을 설정C:\ExampleDestinationPath\Destination
하면 리소스는 폴더의 Archive.zip
내용이 아직 없는 경우 폴더로 Destination
확장합니다.
유효성 검사를 설정하고 $true
체크섬을 설정하지 않은 상태에서 리소스는 확장된 모든 파일의 LastWriteTime 속성을 관련 파일Archive.zip
의 LastWriteTime 속성과 비교합니다. 폴더의 콘텐츠 값이 Destination
해당 값 Archive.zip
과 일치하지 않으면 리소스가 원하는 상태가 아닙니다.
Force를 설정하면 $true
리소스는 확장된 모든 파일을 잘못된 LastWriteTime으로 덮어씁니다. Force가 설정된 $false
경우 리소스는 파일을 덮어쓰는 대신 예외를 throw합니다.
Invoke-DscResource
이 스크립트는 cmdlet과 함께 리소스를 Archive
Invoke-DscResource
사용하여 기본 유효성 검사를 통해 폴더로 확장되도록 하는 Archive.zip
Destination
방법을 보여 있습니다.
[CmdletBinding()]
param()
begin {
$SharedParameters = @{
Name = 'Archive'
ModuleName = 'PSDscResource'
Properties = @{
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Validate = $true
Force = $true
Ensure = 'Present'
}
}
$NonGetProperties = @(
'Validate'
'Force'
'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
}
}
구성을 사용하는 경우
이 코드 조각은 기본 유효성 검사를 사용하여 폴더로 확장 Destination
되도록 Archive.zip
리소스 블록을 사용하여 정의하는 Configuration
방법을 보여줍니다.Archive
Configuration ExpandArchiveDefaultValidationAndForce {
Import-DscResource -ModuleName 'PSDscResources'
Node localhost {
Archive ExampleArchive {
Path = 'C:\ExampleArchivePath\Archive.zip'
Destination = 'C:\ExampleDestinationPath\Destination'
Validate = $true
Force = $true
Ensure = 'Present'
}
}
}