gpt4 book ai didi

powershell - 在 foreach 中导出多个输出

转载 作者:行者123 更新时间:2023-12-03 00:06:09 25 4
gpt4 key购买 nike

我希望导出一些数据,特别是 AD 用户及其 AD 组。

我当前的代码:

$users = import-csv -path C:\path

foreach ($user in $users) {
$user | select name,SamAccountName | ft
Get-ADPrincipalGroupMembership $user.samaccountname | select name
#export-csv -path C:\path-NoTypeInformation -Append
}

我遇到的问题是,每当我尝试导出此信息时,我只导出组输出,而我需要用户名才能查看这些组实际属于谁。

也许有更好的方法来实现这一点?

最佳答案

您可能想使用 Select-Object将信息与引用当前 $user 的几个计算属性“绑定(bind)”在一起的属性:

foreach ($user in $users) {
Get-ADPrincipalGroupMembership $user.samaccountname |Select Name,@{Name='User';Expression={$user.Name}},@{Name='SAMAccountName';Expression={$user.SAMAccountName}} |Export-Csv -Path C:\path -NoTypeInformation -Append
}

如果要在 shell 中按用户名对输出进行分组但只显示组名,可以使用 Format-Table Name -GroupBy User :
# collect the information
$groupMemberships = foreach ($user in $users) {
Get-ADPrincipalGroupMembership $user.samaccountname |Select Name,@{Name='User';Expression={$user.Name}},@{Name='SAMAccountName';Expression={$user.SAMAccountName}}
}

# format console output
$groupMemberships |Format-Table Name -GroupBy User

# export
$groupMemberships |Export-Csv -Path C:\path -NoTypeInformation -Append

关于powershell - 在 foreach 中导出多个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60531113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com