2016-12-01 10 views
0

私はADからすべてのグループ、ユーザーID、および名前を取得し、ParentGroupNames、DisplayName、memberNameの3つの列を持つCSVファイルにエクスポートしようとしています。以下の作業は、すべてのグループに対して1つの名前を繰り返すように見えるDisplayNameを受け入れます。ADグループ、ユーザー名、フルネームをcsvにエクスポート

function getGroups{ 

    $Groups += Get-ADGroup -Filter * -SearchBase "ou=Groups,ou=DCM,ou=NTG,dc=prod,dc=main,dc=ntgov" | Select-Object -ExpandProperty samaccountname 
    return $Groups 
} 

$Groups = getGroups 
    write-host "Groups:" $Groups.Count 

    $date = $(get-date).ToString("dd MMM yyyy") 
    $global:FileName = "Active Directory Group Membership - DCM -" + $date 

    $results = @(); 

    foreach ($GroupName in $Groups){ 
    Get-ADGroupMember -Identity $GroupName | Sort-Object $_.SamAccountName |   


    ForEach-Object { 
     $ItemProperties = @{ 
      "ParentGroupName" = (Get-ADGroup -Identity  $GroupName).SamAccountName; 
      "MemberName" = $_.SamAccountName 
     } 

     if ($_.ObjectClass -eq 'group') { 
      $ItemProperties.Add("DisplayName","-"); 
     } elseif ($_.ObjectClass -eq 'user') { 
      $ItemProperties.Add("DisplayName",(Get-ADUser -Identity $MemberName -Properties DisplayName).DisplayName); 
     } 

     $MyItem = New-Object -TypeName psobject -property $ItemProperties; 
     $Results += $MyItem; 
     $ItemProperties = $null; 
    } 
} 
$results | export-csv -path "C: 

答えて

0

あなたのコード、$ ItemProperties.MemberNameここ$メンバー名を変更中にエラーが固定されたコードがあります:

function getGroups{ 

    $Groups += Get-ADGroup -Filter * -SearchBase "ou=Groups,ou=DCM,ou=NTG,dc=prod,dc=main,dc=ntgov" | Select-Object -ExpandProperty samaccountname 
    return $Groups 
} 

$Groups = getGroups 
    write-host "Groups:" $Groups.Count 

    $date = $(get-date).ToString("dd MMM yyyy") 
    $global:FileName = "Active Directory Group Membership - DCM -" + $date 

    $results = @(); 

    foreach ($GroupName in $Groups){ 
    Get-ADGroupMember -Identity $GroupName | Sort-Object $_.SamAccountName |   


    ForEach-Object { 
     $ItemProperties = @{ 
      "ParentGroupName" = (Get-ADGroup -Identity  $GroupName).SamAccountName; 
      "MemberName" = $_.SamAccountName 
     } 

     if ($_.ObjectClass -eq 'group') { 
      $ItemProperties.Add("DisplayName","-"); 
     } elseif ($_.ObjectClass -eq 'user') { 
      $ItemProperties.Add("DisplayName",(Get-ADUser -Identity $ItemProperties.MemberName -Properties DisplayName).DisplayName); 
     } 

     $MyItem = New-Object -TypeName psobject -property $ItemProperties; 
     $Results += $MyItem; 
     $ItemProperties = $null; 
    } 
} 
$results | export-csv -path "C:\1" 
関連する問題