我们有一个应用程序可以读取文本文件以进行许可证分配,目前是手动管理的。
格式由每个 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...}
它非常接近,除了我无法通过截断的输出,也无法将数据正确导出到文本文件。
您可以使用
-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