Get-Adgroupmember 导出到单行

问题描述 投票:0回答:1

我们有一个应用程序可以读取文本文件以进行许可证分配,目前是手动管理的。

格式由每个 AD 组的一行组成,该行以“Group”一词开头,后跟 AD 组名称,然后是用户 SAMAccountName 和所有成员在一行中... 文件底部还有一些不会改变的静态信息...

组 ADGroupName1 usersamaccountname1 usersamaccountname2 usersamaccountname3 组 ADGroupName2 usersamaccountname1 usersamaccountname2 usersamaccountname3 组 ADGroupName3 usersamaccountname1 usersamaccountname2 userssamaccountname3

将此文本包含为静态文本 也包括此文本 也包括此文本

############################

在另一篇文章中找到了这个基本脚本...

Get-ADGroup -Filter "Name -like 'humdrives'" |
ForEach-Object {
$Members = Get-ADGroupMember -Identity $_ -Recursive
[PSCustomObject]@{
StaticV1 = "Group"
Group = $_.Name
Members = $Members.sAMAccountName
}
}

StaticV1 组成员


组 ADGroupName1 {Sam1、Sam2、Sam3、Sam4...}

它非常接近,除了我无法通过截断的输出,也无法将数据正确导出到文本文件。

powershell active-directory
1个回答
0
投票

您可以使用

-join
运算符来生成所需的字符串:

Get-ADGroup -Filter "Name -like 'humdrives'" |ForEach-Object {
    $Members = Get-ADGroupMember -Identity $_ -Recursive
    # drop all values into array subexpression, then -join 
    @(
        "Group"
        $_.Name
        $Members.sAMAccountName
    ) -join ' '
} |Set-Content -Path export.txt
© www.soinside.com 2019 - 2024. All rights reserved.