SHA-256 파일 유효성 검사를 사용하여 보관 파일 제거
설명
이 예제에서는 리소스를 Archive
사용하여 파일의 .zip
내용이 특정 디렉터리로 확장되지 않도록 하는 방법을 보여 줍니다.
Ensure를 설정하면 Absent
경로가 로 설정됩니다C:\ExampleArchivePath\Archive.zip
. 대상을 설정하면 C:\ExampleDestinationPath\Destination
리소스는 폴더의 Archive.zip
내용이 있는 경우 폴더에서 Destination
해당 내용을 제거합니다.
유효성 검사를 설정하고 $true
체크섬을 설정하면 SHA-256
리소스는 폴더와 Archive.zip
폴더에 있는 모든 항목의 SHA256 체크섬을 Destination
비교합니다. 폴더에 있는 Destination
모든 파일에 대한 체크섬이 해당 파일 Archive.zip
의 체크섬과 일치하면 리소스가 원하는 상태가 됩니다. 리소스는 Set 메서드가 실행되면 일치하는 파일을 제거합니다. 다른 파일은 제거되지 않습니다.
Invoke-DscResource
이 스크립트는 cmdlet과 함께 Invoke-DscResource
리소스를 Archive
사용하여 SHA256 체크섬 유효성 검사를 통해 폴더에 Archive.zip
콘텐츠가 Destination
없는지 확인하는 방법을 보여 줍니다.
[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
}
}
구성을 사용하여
이 코드 조각은 SHA256 체크섬 유효성 검사를 사용하여 폴더에 Destination
Archive.zip
콘텐츠가 없도록 리소스 블록으로 정의하는 Configuration
Archive
방법을 보여 줍니다.
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'
}
}
}