@@ -6702,25 +6702,26 @@ function Get-NetGPOGroup {
6702
6702
$Group , $Relation = $Membership.Key.Split (' __' , $Option ) | ForEach-Object {$_.Trim ()}
6703
6703
6704
6704
# extract out ALL members
6705
- $MembershipValue = $Membership.Value.Split (' ,' ) | ForEach-Object { $_.Trim (' *' ) } | Where-Object {$_ }
6706
- if ($MembershipValue -isnot [System.Array ]) { $MembershipValue = @ ($MembershipValue ) }
6705
+ $MembershipValue = $Membership.Value | Where-Object {$_ } | ForEach-Object { $_.Trim (' *' ) } | Where-Object {$_ }
6707
6706
6708
6707
if ($ResolveMemberSIDs ) {
6709
6708
# if the resulting member is username and not a SID, attempt to resolve it
6710
6709
$GroupMembers = @ ()
6711
6710
ForEach ($Member in $MembershipValue ) {
6712
- if ($Member -notmatch ' ^S-1-.*' ) {
6713
- $MemberSID = Convert-NameToSid - ObjectName $Member | Select-Object - ExpandProperty SID
6714
- if ($MemberSID ) {
6715
- $GroupMembers += $MemberSID
6711
+ if ($Member -and ($Member.Trim () -ne ' ' )) {
6712
+ if ($Member -notmatch ' ^S-1-.*' ) {
6713
+ $MemberSID = Convert-NameToSid - ObjectName $Member | Select-Object - ExpandProperty SID
6714
+ if ($MemberSID ) {
6715
+ $GroupMembers += $MemberSID
6716
+ }
6717
+ else {
6718
+ $GroupMembers += $Member
6719
+ }
6716
6720
}
6717
6721
else {
6718
6722
$GroupMembers += $Member
6719
6723
}
6720
6724
}
6721
- else {
6722
- $GroupMembers += $Member
6723
- }
6724
6725
}
6725
6726
$MembershipValue = $GroupMembers
6726
6727
}
@@ -6732,25 +6733,35 @@ function Get-NetGPOGroup {
6732
6733
}
6733
6734
6734
6735
ForEach ($Membership in $Memberships.GetEnumerator ()) {
6735
- if ($Membership.Key -match ' ^\*' ) {
6736
+ if ($Membership -and $Membership .Key -and ( $Membership .Key - match ' ^\*' ) ) {
6736
6737
# if the SID is already resolved (i.e. begins with *) try to resolve SID to a name
6737
6738
$GroupSID = $Membership.Key.Trim (' *' )
6738
- $GroupName = Convert-SidToName - SID $GroupSID
6739
+ if ($GroupSID -and ($GroupSID.Trim () -ne ' ' )) {
6740
+ $GroupName = Convert-SidToName - SID $GroupSID
6741
+ }
6742
+ else {
6743
+ $GroupName = $False
6744
+ }
6739
6745
}
6740
6746
else {
6741
6747
$GroupName = $Membership.Key
6742
6748
6743
- if ($Groupname -match ' Administrators' ) {
6744
- $GroupSID = ' S-1-5-32-544'
6745
- }
6746
- elseif ($Groupname -match ' Remote Desktop' ) {
6747
- $GroupSID = ' S-1-5-32-555'
6748
- }
6749
- elseif ($Groupname -match ' Guests' ) {
6750
- $GroupSID = ' S-1-5-32-546'
6751
- }
6752
- else {
6753
- $GroupSID = Convert-NameToSid - ObjectName $Groupname | Select-Object - ExpandProperty SID
6749
+ if ($GroupName -and ($GroupName.Trim () -ne ' ' )) {
6750
+ if ($Groupname -match ' Administrators' ) {
6751
+ $GroupSID = ' S-1-5-32-544'
6752
+ }
6753
+ elseif ($Groupname -match ' Remote Desktop' ) {
6754
+ $GroupSID = ' S-1-5-32-555'
6755
+ }
6756
+ elseif ($Groupname -match ' Guests' ) {
6757
+ $GroupSID = ' S-1-5-32-546'
6758
+ }
6759
+ elseif ($GroupName.Trim () -ne ' ' ) {
6760
+ $GroupSID = Convert-NameToSid - ObjectName $Groupname | Select-Object - ExpandProperty SID
6761
+ }
6762
+ else {
6763
+ $GroupSID = $Null
6764
+ }
6754
6765
}
6755
6766
}
6756
6767
@@ -6777,19 +6788,21 @@ function Get-NetGPOGroup {
6777
6788
if ($ResolveMemberSIDs ) {
6778
6789
$GroupMembers = @ ()
6779
6790
ForEach ($Member in $_.GroupMembers ) {
6780
- if ($Member -notmatch ' ^S-1-.*' ) {
6781
- # if the resulting member is username and not a SID, attempt to resolve it
6782
- $MemberSID = Convert-NameToSid - ObjectName $Member | Select-Object - ExpandProperty SID
6783
- if ($MemberSID ) {
6784
- $GroupMembers += $MemberSID
6791
+ if ($Member -and ($Member.Trim () -ne ' ' )) {
6792
+ if ($Member -notmatch ' ^S-1-.*' ) {
6793
+ # if the resulting member is username and not a SID, attempt to resolve it
6794
+ $MemberSID = Convert-NameToSid - ObjectName $Member | Select-Object - ExpandProperty SID
6795
+ if ($MemberSID ) {
6796
+ $GroupMembers += $MemberSID
6797
+ }
6798
+ else {
6799
+ $GroupMembers += $Member
6800
+ }
6785
6801
}
6786
6802
else {
6787
6803
$GroupMembers += $Member
6788
6804
}
6789
6805
}
6790
- else {
6791
- $GroupMembers += $Member
6792
- }
6793
6806
}
6794
6807
$_.GroupMembers = $GroupMembers
6795
6808
}
0 commit comments