gpt4 book ai didi

powershell - PowerShell-如何在一个表中格式化两个不同命令的输出?

转载 作者:行者123 更新时间:2023-12-03 01:15:33 25 4
gpt4 key购买 nike

Foreach($a In Get-GPO -All) { Foreach($b In $a | Get-GPPermissions -TargetName "Domain Admins" -TargetType Group) { $a.DisplayName; $b.Trustee.Name; $b.Permission } }

我使用命令为Domain admins组输出所有GPO权限。默认情况下,Get-GPPermissions结果不包含GPO名称字段。因此,我将Get-GPO和Get-GPPermissions结果合并以输出GPO名称,组名称和权限。我需要在示例下面输出。如何设计我的代码?
GPO Name                   Group Name        Permission
--------- ----------- -------------
Default Domain Policy Domain Users GpoEditDeleteModifySecurity

最佳答案

您可以将对象传送到Select-Object以快速创建具有所需成员的PSObject:

Get-GPO -All | %{ 
$permissions = $_ | Get-GPPermissions -TargetName 'Domain Admins' -TargetType Group
$_ | Select-Object @{Name='GPO Name';Expression={$_.DisplayName}},
@{Name='Group Name';Expression={$permissions.Trustee.Name}},
@{Name='Permission';Expression={$permissions.Permission}}
}

但是,为了更接近您的原始线条,可能会更合适:
Foreach ($GPO in Get-GPO -All) { 
Foreach ($permission in $gpo | Get-GPPermissions -TargetName 'Domain Admins' -TargetType Group) {
'' | Select-Object @{Name='GPO Name';Expression={$gpo.DisplayName}},
@{Name='Group Name';Expression={$permission.Trustee.Name}},
@{Name='Permission';Expression={$permission.Permission}}
}

关于powershell - PowerShell-如何在一个表中格式化两个不同命令的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30723415/

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