【问题标题】:Get-ADPrincipalGroupMembership working the way I need it to in ExpressionGet-ADPrincipalGroupMembership 在 Expression 中按我需要的方式工作
【发布时间】:2019-04-29 21:29:01
【问题描述】:

我正在编写一个 PowerShell 脚本来提取用户信息的 AD 报告。报告的大部分内容都可以正常工作,但我在让群组成员正常工作时遇到问题。

Get-ADPrincipalGroupMembership -identity | select name

单独工作,只为我提供一个干净的权限列表,但将信息通过管道传递到选择名称在我的表达式中不起作用。它什么也不返回。如何仅过滤每个组的名称,同时仍传递每个要处理的用户。

到目前为止,我尝试过的任何方法都无法返回格式化列表。我总是以太多数据或空列结束。事后我也尝试过清理数据,但我无法让正则表达式做我想做的事情。下面列出了我的(非功能性)草稿。

#Clean up Group Membership data
$test = Import-Csv $csvfile

$test | ForEach-Object {
    $_.Group_Membership = $_.Group_Membership.Replace('(?<=OU=").*?(?=/,)', ' ')
    $_.Group_Membership = $_.Group_Membership.Replace('(?<=DC=").*?(?=/,)', ' ')
}

$test | Export-Csv $csvfile -NoType
$AllADUsers = Get-ADUser -Server $ADServer -SearchBase $SearchBase -Properties * -Filter *

$AllADUsers |
    Select-Object @{Label="First Name";Expression={$_.GivenName}},
        @{Label="Last Name";Expression={$_.Surname}},
        @{Label="Display Name";Expression={$_.DisplayName}},
        @{Label="Username";Expression={$_.SamAccountName}},
        @{Label="Job Title";Expression={$_.Title}},
        @{Label="Company";Expression={$_.Company}},
        @{Label="Email";Expression={$_.Mail}},
        @{Label="Account Status";Expression={if (($_.Enabled -eq 'TRUE')) {'Enabled'} else {'Disabled'}}},
        @{Label="Last LogOn Date";Expression={$_.LastLogonDate}},
        @{Label="Group_Membership";Expression={$_.SamAccountName | Get-ADPrincipalGroupMembership}} |
    Export-Csv -Path $csvfile -NoTypeInformation

运行此脚本后,我想要一个 CSV 文件,其中列出了上述信息和安全组列表,但现在它的工作方式,我得到了所有东西,而且很乱。

【问题讨论】:

  • $_.SamAccountName | Get-ADPrincipalGroupMembership -> (Get-ADPrincipalGroupMembership $_.SamAccountName | Select-Object -Expand Name) -join ';'?
  • 这很好用。很干净。

标签: powershell csv active-directory


【解决方案1】:

按照这里的建议 - link,您可以使用

Get-ADPrincipalGroupMembership -identity test | out-string -stream | sls -caseSensitive "name"

【讨论】:

  • 上面来自 Ansgar 的评论很干净并且有效,但这也适用于一些清理。
  • 谢谢大家。这里的两个建议都适用于我正在做的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-06
  • 2021-10-06
  • 1970-01-01
相关资源
最近更新 更多