@@ -4717,21 +4717,24 @@ The raw DirectoryServices.SearchResult object, if -Raw is enabled.
4717
4717
$UserSearcher = Get-DomainSearcher @SearcherArguments
4718
4718
}
4719
4719
}
4720
- elseif ($IdentityInstance -match '^S-1-.*') {
4721
- # SID format
4722
- $IdentityFilter += "(objectsid=$IdentityInstance)"
4723
- }
4724
- elseif ($IdentityInstance -match '^CN=.*') {
4725
- # distinguished names
4726
- $IdentityFilter += "(distinguishedname=$IdentityInstance)"
4727
- }
4728
4720
else {
4729
- try {
4730
- $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1'
4731
- $IdentityFilter += "(objectguid=$GuidByteString)"
4721
+ $IdentityInstance = $IdentityInstance.Replace('(', '\28').Replace(')', '\29')
4722
+ if ($IdentityInstance -match '^S-1-.*') {
4723
+ # SID format
4724
+ $IdentityFilter += "(objectsid=$IdentityInstance)"
4732
4725
}
4733
- catch {
4734
- $IdentityFilter += "(samAccountName=$IdentityInstance)"
4726
+ elseif ($IdentityInstance -match '^CN=.*') {
4727
+ # distinguished names
4728
+ $IdentityFilter += "(distinguishedname=$IdentityInstance)"
4729
+ }
4730
+ else {
4731
+ try {
4732
+ $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1'
4733
+ $IdentityFilter += "(objectguid=$GuidByteString)"
4734
+ }
4735
+ catch {
4736
+ $IdentityFilter += "(samAccountName=$IdentityInstance)"
4737
+ }
4735
4738
}
4736
4739
}
4737
4740
}
@@ -5746,7 +5749,7 @@ The raw DirectoryServices.SearchResult object, if -Raw is enabled.
5746
5749
$IdentityFilter = ''
5747
5750
$Filter = ''
5748
5751
$Identity | Where-Object {$_} | ForEach-Object {
5749
- $IdentityInstance = $_
5752
+ $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29')
5750
5753
if ($IdentityInstance -match '^S-1-.*') {
5751
5754
$IdentityFilter += "(objectsid=$IdentityInstance)"
5752
5755
}
@@ -6773,7 +6776,7 @@ Custom PSObject with ACL entries.
6773
6776
$IdentityFilter = ''
6774
6777
$Filter = ''
6775
6778
$Identity | Where-Object {$_} | ForEach-Object {
6776
- $IdentityInstance = $_
6779
+ $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29')
6777
6780
if ($IdentityInstance -match '^S-1-.*') {
6778
6781
$IdentityFilter += "(objectsid=$IdentityInstance)"
6779
6782
}
@@ -7662,7 +7665,7 @@ Custom PSObject with translated OU property fields.
7662
7665
$IdentityFilter = ''
7663
7666
$Filter = ''
7664
7667
$Identity | Where-Object {$_} | ForEach-Object {
7665
- $IdentityInstance = $_
7668
+ $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29')
7666
7669
if ($IdentityInstance -match '^OU=.*') {
7667
7670
$IdentityFilter += "(distinguishedname=$IdentityInstance)"
7668
7671
}
@@ -7921,7 +7924,7 @@ Custom PSObject with translated site property fields.
7921
7924
$IdentityFilter = ''
7922
7925
$Filter = ''
7923
7926
$Identity | Where-Object {$_} | ForEach-Object {
7924
- $IdentityInstance = $_
7927
+ $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29')
7925
7928
if ($IdentityInstance -match '^CN=.*') {
7926
7929
$IdentityFilter += "(distinguishedname=$IdentityInstance)"
7927
7930
}
@@ -8179,7 +8182,7 @@ Custom PSObject with translated subnet property fields.
8179
8182
$IdentityFilter = ''
8180
8183
$Filter = ''
8181
8184
$Identity | Where-Object {$_} | ForEach-Object {
8182
- $IdentityInstance = $_
8185
+ $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29')
8183
8186
if ($IdentityInstance -match '^CN=.*') {
8184
8187
$IdentityFilter += "(distinguishedname=$IdentityInstance)"
8185
8188
}
@@ -8650,19 +8653,22 @@ Custom PSObject with translated group property fields.
8650
8653
$GroupSearcher = Get-DomainSearcher @SearcherArguments
8651
8654
}
8652
8655
}
8653
- elseif ($IdentityInstance -match '^S-1-.*') {
8654
- $IdentityFilter += "(objectsid=$IdentityInstance)"
8655
- }
8656
- elseif ($IdentityInstance -match '^CN=.*') {
8657
- $IdentityFilter += "(distinguishedname=$IdentityInstance)"
8658
- }
8659
8656
else {
8660
- try {
8661
- $GuidByteString = (-Join (([Guid] $IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1'
8662
- $IdentityFilter += "(objectguid=$GuidByteString )"
8657
+ $IdentityInstance = $IdentityInstance.Replace('(', '\28').Replace(')', '\29')
8658
+ if ( $IdentityInstance -match '^S-1-.*') {
8659
+ $IdentityFilter += "(objectsid=$IdentityInstance )"
8663
8660
}
8664
- catch {
8665
- $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance))"
8661
+ elseif ($IdentityInstance -match '^CN=.*') {
8662
+ $IdentityFilter += "(distinguishedname=$IdentityInstance)"
8663
+ }
8664
+ else {
8665
+ try {
8666
+ $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1'
8667
+ $IdentityFilter += "(objectguid=$GuidByteString)"
8668
+ }
8669
+ catch {
8670
+ $IdentityFilter += "(|(samAccountName=$IdentityInstance)(name=$IdentityInstance))"
8671
+ }
8666
8672
}
8667
8673
}
8668
8674
}
@@ -9371,19 +9377,22 @@ http://www.powershellmagazine.com/2013/05/23/pstip-retrieve-group-membership-of-
9371
9377
$GroupSearcher = Get-DomainSearcher @SearcherArguments
9372
9378
}
9373
9379
}
9374
- elseif ($IdentityInstance -match '^S-1-.*') {
9375
- $IdentityFilter += "(objectsid=$IdentityInstance)"
9376
- }
9377
- elseif ($IdentityInstance -match '^CN=.*') {
9378
- $IdentityFilter += "(distinguishedname=$IdentityInstance)"
9379
- }
9380
9380
else {
9381
- try {
9382
- $GuidByteString = (-Join (([Guid] $IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1'
9383
- $IdentityFilter += "(objectguid=$GuidByteString )"
9381
+ $IdentityInstance = $IdentityInstance.Replace('(', '\28').Replace(')', '\29')
9382
+ if ( $IdentityInstance -match '^S-1-.*') {
9383
+ $IdentityFilter += "(objectsid=$IdentityInstance )"
9384
9384
}
9385
- catch {
9386
- $IdentityFilter += "(samAccountName=$IdentityInstance)"
9385
+ elseif ($IdentityInstance -match '^CN=.*') {
9386
+ $IdentityFilter += "(distinguishedname=$IdentityInstance)"
9387
+ }
9388
+ else {
9389
+ try {
9390
+ $GuidByteString = (-Join (([Guid]$IdentityInstance).ToByteArray() | ForEach-Object {$_.ToString('X').PadLeft(2,'0')})) -Replace '(..)','\$1'
9391
+ $IdentityFilter += "(objectguid=$GuidByteString)"
9392
+ }
9393
+ catch {
9394
+ $IdentityFilter += "(samAccountName=$IdentityInstance)"
9395
+ }
9387
9396
}
9388
9397
}
9389
9398
}
@@ -10928,11 +10937,8 @@ The raw DirectoryServices.SearchResult object, if -Raw is enabled.
10928
10937
$IdentityFilter = ''
10929
10938
$Filter = ''
10930
10939
$Identity | Where-Object {$_} | ForEach-Object {
10931
- $IdentityInstance = $_
10932
- if ($IdentityInstance -match 'LDAP://') {
10933
- $IdentityFilter += "(distinguishedname=$IdentityInstance)"
10934
- }
10935
- elseif ($IdentityInstance -match '^CN=.*') {
10940
+ $IdentityInstance = $_.Replace('(', '\28').Replace(')', '\29')
10941
+ if ($IdentityInstance -match 'LDAP://|^CN=.*') {
10936
10942
$IdentityFilter += "(distinguishedname=$IdentityInstance)"
10937
10943
}
10938
10944
elseif ($IdentityInstance -match '{.*}') {
0 commit comments