module12.psm1
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 enum Ensure { Absent Present } [DscResource()] class MyTestClassResource{ [DscProperty(Key)] [string]$Path [DscProperty(Mandatory)] [Ensure] $Ensure [DscProperty(Mandatory)] [ValidateSet("Directory","File")] [string]$ItemType #Replaces Get-TargetResource [MyTestClassResource] Get() { $Item = Test-Path $This.Path If($Item -eq $True) { $This.Ensure = [Ensure]::Present } Else { $This.Ensure = [Ensure]::Absent } Return $This } #Replaces Test-TargetResource [bool] Test() { $Item = Test-Path $This.Path If($This.Ensure -eq [Ensure]::Present) { Return $Item } Else { Return -not $Item } } [void] Set() { $Item = Test-Path $This.Path If($This.Ensure -eq [Ensure]::Present) { If(-not $Item) { Write-Verbose "Creating Folder" New-Item -ItemType Directory -Path $This.Path } } #If [Ensure]::Absent Else { If($Item) { Write-Verbose "File exists and should be absent. Deleting file" Remove-Item -Path $This.Path } } } } |