Amazon web services Powershell foreach输出为表格格式/HTML
这个简单的Powershell脚本(AWS模块)将输出每个组的策略列表(每个组1个或多个策略)。正如你所看到的,我在组中循环,可以得到输出。使用“Write output”,我可以得到一个文本“report”,但我不知道如何将输出发送到某个地方,假设有一个变量/哈希表,这样我就可以将它发送到converttohtml或CVSAmazon 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
$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的人)很好,你找到了。我不知道你想要返回两个属性。我建议你下次有问题时添加一个预期输出的示例。