Eroare nespecificată Exportatoare de toate de un singur utilizator grupuri la un CSV

0

Problema

Sunt destul de nou în powershell. Nu sunt sigur ce am gresit aici. Încercarea de a exporta toate de un singur utilizator grupuri de ANUNȚURI într-un fișier CSV. Știu că e un pic cam greu codificate, dar doar încercarea de a face ceva simplu.

Import-Module ActiveDirectory

$UserName = “pball“ 

$ReportPath = “C:\Input\EricsStuff\userADgroups.csv“

Get-ADPrincipalGroupMembership $Username | select name, groupcategory, groupscope | export-CSV C:\Input\EricsStuff\userADgroups.csv


# Export to :
# C:\Input\EricsStuff\userADgroups.csv

În special de Eroare este :

Get-ADPrincipalGroupMembership : An unspecified error has occurred
At C:\Input\EricsStuff\ExportUserGroups.ps1:7 char:1
+ Get-ADPrincipalGroupMembership $Username | select name, groupcategory ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (pball:ADPrincipal) [Get-ADPrincipalGroupMembership], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.GetADPrincipalGroupMemb 
   ership
powershell
2021-11-23 17:28:43
1

Cel mai bun răspuns

0

Așa cum ați putut vedea, există multe posturi pe internet menționat probleme recurente cu Get-ADPrincipalGroupMembership.

Dacă doriți să vedeți un utilizator de aderare, cel mai simplu mod este să se uite la utilizator MemberOf Active Directory atribut dar din moment ce sunteți în căutarea pentru a obține:

  • Name
  • GroupScope
  • GroupCategory

Acest lucru ar necesita pentru a interoga fiecare grup folosind Get-ADGroup. Sunt 2 alternative care mă pot gândi, primul este utilizarea LDADFilter pentru a căuta grupuri în cazul în care utilizatorul este DistinguishedName este un membru (cu alte cuvinte, în cazul în care utilizatorul este DN este parte a grupului Member atribut):

$UserName = "pball"
$ReportPath = "C:\Input\EricsStuff\userADgroups.csv"

$userDN = (Get-ADUser $UserName).DistinguishedName
Get-ADGroup -LDAPFilter "(member=$userDN)" |
Select-Object Name, GroupCategory, GroupScope |
Export-CSV $ReportPath

Problema cu această abordare este că va primi doar grupuri în cazul în care utilizatorul este un membru de pe Domeniul curent. Dacă utilizatorul este membru al grupurilor care exista pe un alt Domeniu, acest cod nu va afișa ele.

O altă alternativă în cazul în care aveți nevoie pentru a interoga toate grupurile (pe actualul Domeniu și în alte Domenii) care utilizatorul este membru al este de a bucla peste MemberOf proprietate. Acest cod a fost testat și funcționează pentru mine, dar nu pot spune sigur daca este de gând să lucreze pentru tine (cel mai probabil regex pentru a obține Domeniu DistinguishedName poate fi îmbunătățit, dar eu sunt rau cu asta).

$UserName = "pball"
$ReportPath = "C:\Input\EricsStuff\userADgroups.csv"

$membership = (Get-ADUser $UserName -Properties MemberOf).MemberOf
$membership | Group-Object { ($_ -split '(?=DC=)',2)[1] } | ForEach-Object {

    [adsi]$ldap = 'LDAP://{0}' -f $_.Name
    [string]$domain = $ldap.Name

    foreach($group in $_.Group)
    {
        Get-ADGroup $group -Server $domain
    }

} |
Select-Object Name, GroupCategory, GroupScope |
Export-CSV $ReportPath
2021-11-23 21:56:00

Excelent, exact ceea ce caut. Multumesc
eric webster

@ericwebster fericiți să vă ajutăm
Santiago Squarzon

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................