@@ -33,7 +33,11 @@ function Get-TargetResource
3333
3434 [Parameter ()]
3535 [System.String ]
36- $WorkGroupName
36+ $WorkGroupName ,
37+
38+ [Parameter ()]
39+ [System.String ]
40+ $Description
3741 )
3842
3943 Write-Verbose - Message " Getting computer state for '$ ( $Name ) '."
@@ -64,6 +68,7 @@ function Get-TargetResource
6468 Credential = [ciminstance ]$convertToCimCredential
6569 UnjoinCredential = [ciminstance ]$convertToCimUnjoinCredential
6670 WorkGroupName = (Get-CimInstance - Class ' Win32_ComputerSystem' ).Workgroup
71+ Description = (Get-CimInstance - Class ' Win32_OperatingSystem' ).Description
6772 }
6873
6974 $returnValue
@@ -98,7 +103,11 @@ function Set-TargetResource
98103
99104 [Parameter ()]
100105 [System.String ]
101- $WorkGroupName
106+ $WorkGroupName ,
107+
108+ [Parameter ()]
109+ [System.String ]
110+ $Description
102111 )
103112
104113 Assert-DomainOrWorkGroup - DomainName $DomainName - WorkGroupName $WorkGroupName
@@ -108,6 +117,14 @@ function Set-TargetResource
108117 $Name = $env: COMPUTERNAME
109118 }
110119
120+ if ($PSBoundParameters.ContainsKey (' Description' ))
121+ {
122+ Write-Verbose - Message " Setting computer description to '$ ( $Description ) '."
123+ $win32OperatingSystemCimInstance = Get-CimInstance - ClassName Win32_OperatingSystem
124+ $win32OperatingSystemCimInstance.Description = $Description
125+ Set-CimInstance - InputObject $win32OperatingSystemCimInstance
126+ }
127+
111128 if ($Credential )
112129 {
113130 if ($DomainName )
@@ -274,7 +291,11 @@ function Test-TargetResource
274291
275292 [Parameter ()]
276293 [System.String ]
277- $WorkGroupName
294+ $WorkGroupName ,
295+
296+ [Parameter ()]
297+ [System.String ]
298+ $Description
278299 )
279300
280301 Write-Verbose - Message ' Validate desired Name is a valid name'
@@ -285,6 +306,15 @@ function Test-TargetResource
285306 return $false
286307 }
287308
309+ if ($PSBoundParameters.ContainsKey (' Description' ))
310+ {
311+ Write-Verbose - Message ' Checking if description is corerect'
312+ if ($Description -ne (Get-CimInstance - Class ' Win32_OperatingSystem' ).Description)
313+ {
314+ return $false
315+ }
316+ }
317+
288318 Assert-DomainOrWorkGroup - DomainName $DomainName - WorkGroupName $WorkGroupName
289319
290320 if ($DomainName )
0 commit comments