如何解决PowerShell:“MemberOf”输出一个空白列而不是用户的“组名”
以下 PowerShell 脚本遍历 test.csv 文件中列出的组。 它从各个组中的每个用户中提取 samAccountName 和 distinctName。但是,当我尝试提取 groupName 时,输出是“Microsoft.ActiveDirectory.Management.ADPropertyValueCollection”。不知道如何解决这个问题-
$groups = Get-Content test.csv
$domains = (Get-ADForest).Domains
foreach ($group in $groups)
{
foreach ($domain in $domains)
{
if (Get-ADGroup $group -Server $domain)
{
Get-ADGroupMember $group -Server $domain | select groupName,samAccountName,distinguishedname | Export-Csv c:\temp\file.csv -notypeinformation -append
}
}
}
$groups = Get-Content test.csv
$domains = (Get-ADForest).Domains
foreach ($group in $groups)
{
foreach ($domain in $domains)
{
if (Get-ADGroup $group -Server $domain)
{
Get-ADGroupMember $group -Server $domain | select samAccountName,distinguishedname |
Get-ADUser @{name = ‘MemberOf’;’expression={$_.MemberOf -join “;”}} |
Export-Csv c:\temp\file.csv -notypeinformation
}
}
}
解决方法
如果您将选择语句更改为:
select-object @{n='groupName';expression={$group}},samAccountName,distinguishedName
它应该为该列输出 Get-ADGroupMember 的 $group 输入。
,试试这个,我为你的代码添加了一些优化:)
注意,这里或多或少需要 try {...} catch {...}
,因为如果对象是未找到。
Get-ADGroup
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。