powershell - Powershell脚本获取用户的详细信息以及他们所属的组
问题描述
我正在尝试导出 AD 用户列表以及他们所属的组,导出的 csv 格式应该像
组 A User1_name
组 A User2_name
组 B User3_name
组 C User4_name
组 C User5_name
我努力了
$ErrorActionPreference = "SilentlyContinue"
Get-Content R:\PHRBI-R\ADGroup_list.csv | Where{$_ -ne $null -and $_.trim() -ne ""} |
foreach{
$Group = $_
Write-Host "$Group"
Get-ADGroup -Identity $Group -Properties members |
Select-Object -ExpandProperty members |
Get-ADUser -Properties samaccountname, enabled |
Select samaccountname, name, Enabled
}
但它没有提供我正在寻找的模板,并且新组不断添加,因此无法在任何文件中手动列出组并导出所需的详细信息。
解决方案
下面应该让你继续,我试图让它合乎逻辑。当然,这可以被清理和优化。
# Create csv
New-Item "Some\Path\To\CSV" -ItemType File -force
# Add header row
Add-Content -Path "Some\Path\To\CSV" -Value 'Group Name, NUID, Name, Enabled'
# Loop through each AD group
Get-ADGroup -Filter {Name -like 'ABC*'} | Foreach-Object {
# Keep the group object so we can use it later
$Group = $_
# loop through each group member
$Group.members | Foreach-Object {
$User = Get-ADUser -identity $_ -Properties samaccountname, name, enabled
Add-Content -Path "Some\Path\To\CSV" -Value "$($Group.Name),$($User.samaccountname),$($User.name),$($User.Enabled)"
}
}
请注意,如果存在嵌套组(即组中的组),则Get-AdUser
cmdlet 将出错。
推荐阅读
- python - 类上带有 **kwargs 的函数返回“意外参数”
- cluster-computing - ambari 2.7.4 安装向导问题
- css - 如何为使用 ngx-markdown 渲染的内容设置样式?
- android - 调用 startActivity() 后应用程序崩溃
- react-native - React Native cli 项目 - 在 vscode 中调试
- php - 仅允许在我的帐户上的每个客户编辑自定义字段一次 > 在 WooCommerce 中编辑帐户
- c - 程序运行的具体情况如何?
- flutter - 如何在 TimeOfDay 中转换字符串“TimeOfDay(00:00)”
- xamarin.forms - 当属性通过 XAML 中的数据绑定从 xamarin 表单中的视图模型更改时,如何更改图像源?
- javascript - 更改地址栏中的整个 url (Javascript)