amazon-web-services - Powershell foreach 输出到表格格式/HTML
问题描述
这个简单的 Powershell 脚本(AWS 模块)将输出每个组的策略列表(每个组 1 个或多个策略)。如您所见,我循环遍历 Groups 并可以获得输出。使用“写输出”我可以得到一个文本“报告”,但我不知道如何将输出发送到某个东西,假设是一个变量/哈希表,以便我可以将它发送到 Convertto-HTML 或 CVS
$Groups=(Get-IAmGroupList).GroupName
ForEach ($item in $Groups) {
(Get-IAMAttachedGroupPolicies -GroupName $item).PolicyName
}
有任何想法吗?我看过很多地方,但这一切都让我感到困惑,而且我不是一个 powershell 人(这是我试图为自己做的自动化事情。
解决方案
所以,我想通了(我们将让其他人以另一种形式向我展示。)您需要创建一个新对象并将元素添加到哈希表中。
在我的示例中,创建了一个新的 PSobject,并使用相关对象(包括来自 2 个不同变量的对象)创建了一个哈希表。这确实为每个策略重复了 GroupName(如果有多个),但这很好并且很容易理解。它全部保存到 $GroupPolicies 变量,然后可以发送到“Convertto-HTML”这个代码(我没有写),使用循环的%
别名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
推荐阅读
- c# - 为什么我可以返回对局部变量字段的引用
- python - 如何重现由 sqlalchemy 会话缓存引起的错误
- sql-server - 在 Powerapps 中验证存储过程是否成功
- intellij-idea - IntelliJ IDEA:用于生成的键盘快捷键 ALT+INSERT
- typescript - 使用 TypeScript 类型系统创建一个流畅的、有状态的构建器
- ringcentral - 使用 RingCentral 进行出站呼叫时如何禁用入站队列呼叫?
- module - systemverilog 模块命名空间
- flutter - 在 Flutter 中使用 Firebase/Google 登录时无法注销并重定向到 LoginPage
- php - 消息输入字段验证
- mysql - 从 UML 到 ER 图的抽象类。可能的 ?如何?