Amazon web services Powershell foreach输出为表格格式/HTML

Amazon web services Powershell foreach输出为表格格式/HTML,amazon-web-services,powershell,Amazon Web Services,Powershell,这个简单的Powershell脚本(AWS模块)将输出每个组的策略列表(每个组1个或多个策略)。正如你所看到的,我在组中循环,可以得到输出。使用“Write output”,我可以得到一个文本“report”,但我不知道如何将输出发送到某个地方,假设有一个变量/哈希表,这样我就可以将它发送到converttohtml或CVS $Groups=(Get-IAmGroupList).GroupName ForEach ($item in $Groups) { (Get-IAMAttachedGr

这个简单的Powershell脚本(AWS模块)将输出每个组的策略列表(每个组1个或多个策略)。正如你所看到的,我在组中循环,可以得到输出。使用“Write output”,我可以得到一个文本“report”,但我不知道如何将输出发送到某个地方,假设有一个变量/哈希表,这样我就可以将它发送到converttohtml或CVS

$Groups=(Get-IAmGroupList).GroupName

ForEach ($item in $Groups) {
 (Get-IAMAttachedGroupPolicies -GroupName $item).PolicyName

 }
有什么想法吗?我看了很多地方,但都让我很困惑,我不是一个喜欢powershell的人(这是一个我试图为自己做的自动化事情。

所以,我找到了答案(我们会有其他人以另一种形式向我展示。) 您需要创建一个新对象,并将元素添加到哈希表中

在我的示例中,将创建一个新的PSobject,并使用相关对象(包括来自两个不同变量的对象)创建一个哈希表。这会为每个策略重复组名(如果有多个策略)但这很好,也很容易理解。它全部保存到$GroupPolicys变量中,然后可以发送到“ConvertToHTML” 此代码(我没有编写)使用
%
别名作为
foreach
循环

$GroupPolicies=Get-IAmGroupList  | % {
    $Groups = $_.GroupName

(Get-IAMAttachedGroupPolicies -GroupName $Groups).PolicyName | % {
        $PolicyName = $_

        #Add a new row to the output
        New-Object PSObject -Property @{
            Group = $Groups
            Policies = $policyName
 }

 } 
 }| Select-Object -Property Group, Policies

如何使用
Write Output
?以同样的方式使用
Convertto Html
。在将(Get IAM..)赋值给$Output变量后,我会这样做:Write Output“Report for$item Group”Write Output$Output Write Output----“我很难理解您当时在做什么,但请尝试将
ForEach
的输出分配给一个变量。
$PolicyNames=ForEach($Groups中的项){…
。然后将输出分别传输到
Convertto HTML
或csv。问题是,转换为HTML的PolicyNames变量将只包含策略名称,而不包含它所绑定的组。需要弄清楚如何将它们组合在一起。(我是一个非常喜欢周末使用powershell的人)很好,你找到了。我不知道你想要返回两个属性。我建议你下次有问题时添加一个预期输出的示例。