Skip to content

Commit 4671583

Browse files
authored
xGroupResource: Force array type for members (#773)
1 parent aaf8343 commit 4671583

3 files changed

Lines changed: 14 additions & 15 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
55

66
## [Unreleased]
77

8+
### Fixed
9+
10+
- xGroup
11+
- Fixed a bug where the get resource would fail if group members is empty [Issue #772](https://github.com/dsccommunity/xPSDesiredStateConfiguration/issues/772)
12+
813
## [9.2.0] - 2024-10-15
914

1015
### Fixed

source/DSCResources/DSC_xGroupResource/DSC_xGroupResource.psm1

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -383,13 +383,8 @@ function Get-TargetResourceOnFullSKU
383383
$null = $disposables.Add($group)
384384

385385
# The group was found. Find the group members.
386-
$members = Get-MembersOnFullSKU -Group $group -PrincipalContextCache $principalContextCache `
387-
-Credential $Credential -Disposables $disposables
388-
389-
if ($members -is [System.String])
390-
{
391-
$members = @($members)
392-
}
386+
[System.String[]] $members = @(Get-MembersOnFullSKU -Group $group -PrincipalContextCache $principalContextCache `
387+
-Credential $Credential -Disposables $disposables)
393388

394389
return @{
395390
GroupName = $group.Name
@@ -459,12 +454,7 @@ function Get-TargetResourceOnNanoServer
459454
}
460455

461456
# The group was found. Find the group members.
462-
$members = Get-MembersOnNanoServer -Group $group
463-
464-
if ($members -is [System.String])
465-
{
466-
$members = @($members)
467-
}
457+
[System.String[]] $members = @(Get-MembersOnNanoServer -Group $group)
468458

469459
return @{
470460
GroupName = $group.Name

tests/Unit/DSC_xGroupResource.Tests.ps1

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -944,7 +944,8 @@ try
944944
$getTargetResourceResult.GroupName | Should -Be $script:testGroupName
945945
$getTargetResourceResult.Ensure | Should -Be 'Present'
946946
$getTargetResourceResult.Description | Should -Be $script:testGroupDescription
947-
$getTargetResourceResult.Members | Should -Be $null
947+
$getTargetResourceResult.Members -is [System.String[]] | Should -BeTrue
948+
$getTargetResourceResult.Members.Count | Should -Be 0
948949
}
949950

950951
It 'Should return correct hashtable values when Get-Group returns a valid, existing group with a single member' {
@@ -965,7 +966,8 @@ try
965966
$getTargetResourceResult.Ensure | Should -Be 'Present'
966967
$getTargetResourceResult.Description | Should -Be $script:testGroupDescription
967968
$getTargetResourceResult.Members | Should -Be $testMembersSingle
968-
$getTargetResourceResult.Members -is [System.Object[]] | Should -BeTrue
969+
$getTargetResourceResult.Members -is [System.String[]] | Should -BeTrue
970+
$getTargetResourceResult.Members.Count | Should -Be 1
969971
}
970972

971973
It 'Should return correct hashtable values when Get-Group returns a valid, existing group with multiple members' {
@@ -986,6 +988,8 @@ try
986988
$getTargetResourceResult.Ensure | Should -Be 'Present'
987989
$getTargetResourceResult.Description | Should -Be $script:testGroupDescription
988990
$getTargetResourceResult.Members | Should -Be $testMembersMultiple
991+
$getTargetResourceResult.Members -is [System.String[]] | Should -BeTrue
992+
$getTargetResourceResult.Members.Count | Should -BeGreaterThan 1
989993
}
990994
}
991995

0 commit comments

Comments
 (0)