【问题标题】:Export Groups and Member SamAccountName or DisplayName to CSV将组和成员 SamAccountName 或 DisplayName 导出到 CSV
【发布时间】:2017-01-05 13:12:00
【问题描述】:

我在从我创建的 CSV 导入组和成员数据时遇到一些问题,原因是我正在执行的导出是导出成员的 CN 名称而不是 SamAccountNameDisplayName导入需要。

目前我导出的 CSV 如下所示:

"名称","成员"
"GROUP1","CN=LEEROY JENKINS,OU=ADMINISTRATORS,OU=USERS,OU=DOMAIN,DC=DOMAIN,DC=LOCAL;CN=MICHAEL JACKSON,OU=ADMINISTRATORS,OU=USERS,OU=DOMAIN,DC=DOMAIN ,DC=LOCAL;CN=JERRY SPRINGER,OU=GUESTS,OU=USERS,OU=DOMAIN,DC=DOMAIN,DC=LOCAL"
"GROUP2","CN=KIMMY SHMIDT,OU=ADMINISTRATORS,OU=USERS,OU=DOMAIN,DC=DOMAIN,DC=LOCAL;CN=MICHAEL JACKSON,OU=ADMINISTRATORS,OU=USERS,OU=DOMAIN,DC=DOMAIN ,DC=LOCAL;CN=JERRY SPRINGER,OU=GUESTS,OU=USERS,OU=DOMAIN,DC=DOMAIN,DC=LOCAL"

我从执行中得到的:

Get-ADGroup -SearchBase "ou=groups,ou=DOMAIN,dc=DOMAIN,dc=local" -Properties name,members -Filter * |
    select members, name |
    Export-Csv BLAH.CSV -NoTypeInformation

我想我有两个问题,一个是导入不会将 CN 作为有效的成员名称,并且不确定它是否适用于每个拥有多个用户的组。

附带说明 - 我找到了 this article。然而,类似的问题,我还没有像他那样处理格式良好的“Group1 - Name1”表格。我基本上是想找出一种自动方法来创建一个包含组名和成员详细信息的表,可以导入到 Active Directory 中。

【问题讨论】:

  • 您想使用数据将您的 csv 成员添加到引用的广告组中吗?

标签: powershell csv active-directory


【解决方案1】:

我遇到了同样的问题,对我来说这是因为组有多个成员,而 PowerShell 不能很好地处理 1:M 关系。我开始使用它来拉组成员:

(Get-ADGroupMember -Identity GroupName -Recursive | select name | Out-String).Trim()

因为这会将所有组成员放在一个单元格中。请注意,Excel 对单个单元格中的字符数有大小限制,因此,如果您有一个包含数千名成员的组,则会出错。我确信有更好的方法,这对我有用。

您可以通过管道将当前脚本导入其中,即:

经过编辑以更符合您的需要:

$Groups = Get-ADGroup -Filter {YOURFILTER} | select -ExpandProperty sAmAccountname
foreach($Group in $Groups)
{
$Members = (Get-ADGroupMember -Identity $Group | select sAmAccountName | out-string).Trim() 

New-Object -TypeName PSCustomObject -Property @{
Users = $Members
Name = $Group
} | Export-Csv C:\Export.csv
}

只需确保垂直展开单元格以实际看到组成员。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多