首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell脚本,用于在AD中的OU中显示AD安全组的所有用户部分

PowerShell脚本,用于在AD中的OU中显示AD安全组的所有用户部分
EN

Stack Overflow用户
提问于 2022-03-08 17:50:47
回答 2查看 933关注 0票数 1

我是PowerShell新手,我试图在某个OU中显示所有AD安全组,并显示该安全组的每个用户部分。

我希望将用户名和名称以及安全组名显示到CSV文件中。

我成功地获得了这些信息,但我不得不在脚本本身中手动添加AD安全组名称:

代码语言:javascript
复制
$groups = "GroupName1", "GroupName2", "GroupName3", "GroupName4", "GroupName5"

$results = foreach ($group in $groups) {
    Get-ADGroupMember $group | select samaccountname, name, @{n='GroupName';e={$group}}, @{n='Description';e={(Get-ADGroup $group -Properties description).description}}
}

$results

$results | Export-csv C:\Users\Sam\Desktop\Users.csv -NoTypeInformation 

上面的脚本输出我需要的信息,但如上所述,我必须在脚本本身中手动输入Security。

我认为我需要使用的命令是Get-ADGroup

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-08 17:58:36

您可以使用Get-ADGroup -Filter * -SearchBase 'OUdnHere'搜索所需组织单位下的所有组,然后只需应用已有的相同逻辑:

memberships

  • Construct
  1. 循环组
  2. 获取它们的输出
  3. 输出到CSV

代码语言:javascript
复制
$ou = 'distinguished name of my OU here'
Get-ADGroup -Filter * -SearchBase $ou -Properties Description | ForEach-Object {
    foreach($member in Get-ADGroupMember $_) {
        [pscustomobject]@{
            SamAccountName = $member.SamAccountName
            Name           = $member.Name
            GroupName      = $_.Name
            Description    = $_.Description
        }
    }
} | Export-csv C:\Users\Sam\Desktop\Users.csv -NoTypeInformation 
票数 1
EN

Stack Overflow用户

发布于 2022-03-08 17:57:59

尝试这样的方法(当然,为OU添加正确的dn ):

代码语言:javascript
复制
$Groups = Get-AdGroup -SearchBase "ou=OuName,DC=contoso,DC=local" -Filter * | Select -ExpandProperty Name

或者在我看来更短更容易读到:

代码语言:javascript
复制
$Groups = (Get-AdGroup -SearchBase "ou=OuName,DC=contoso,DC=local" -Filter *).Name

未经测试的代码,但你得到了它的要点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71399446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档