지정 오류-수출의 모든 하자는 사용자의 그룹을 CSV

0

질문

나는 새로운 powershell. 지 제가 뭘 잘못하고 있어 여기에. 내보내려는 모든 사용자 한 명의 광고 그룹을 제공합니다. 나는 그것의 하드 코딩지만 뭔가를 시도하고 간단합니다.

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

특히 오류는 다음과 같습니다.

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

최고의 응답

0

당신이 볼 수있다,많은 글을 인터넷을 통해 언급과 반복 문제 Get-ADPrincipalGroupMembership.

를 보시려면 사용자의 회원 가장 쉬운 방법은 보는 사용자의 MemberOf Active Directory 특성 하지만 당신을 찾고 얻을:

  • Name
  • GroupScope
  • GroupCategory

이 필요로하는 쿼리를 사용하여 그룹 Get-ADGroup. 거기에는 2 대안을 생각할 수는 있는데,첫 번째는 사용하는 LDADFilter 검색에 대한 그룹이 사용자의 DistinguishedName 회원입니다(즉,사용자의 DN 의 일부 그룹의 Member 성):

$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

이 방법의 문제는 당신 얻을 그룹에는 사용자의 구성원에서 는 현재 도메인. 는 경우에는 사용자가 구성원의 그룹에 존재하는 다른 도메인 이 코드를 표시하지 않습니다.

또 다른 대안은 필요하신 경우에는 쿼리를 모든 그룹(에서는 현재 도메인에서와는 다른 도메인)는 사용자의 회원을 루프 MemberOf 을 제공합니다. 이 코드를 테스트하고 그것이 나를 위해 그러나 말할 수 없어지면 그것을 당신을 위해 일(대부분 regex 을 얻을 도메인 DistinguishedName 개선 될 수 있지만 나는 나쁜)입니다.

$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

한,정확히 무엇을 찾고 있어요. 감사
eric webster

@ericwebster 행복하는 데 도움이
Santiago Squarzon

다른 언어로

이 페이지는 다른 언어로되어 있습니다

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