gpt4 book ai didi

amazon-web-services - 将 Powershell 数组转换为文本,以便将其导出为 CSV 或 HTML

转载 作者:行者123 更新时间:2023-12-02 22:41:56 25 4
gpt4 key购买 nike

我正在尝试将 powershell(AWS 工具)命令的输出转换为字符串,以便我可以将它们导出为 CSV 或 HTML。我一辈子都弄不明白。我看过关于哈希表、命名元素等的评论。似乎没有任何帮助。 (我是一个新手)。

这就是我得到的。这个命令

(Get-IAMAccountAuthorizationDetail).UserDetailList |选择用户名、群组列表

将输出这个(更好的间距):

用户名群组列表
------------------
用户 1 {管理员,测试}
User2 {管理员}

我似乎无法弄清楚如何获取这些数据,以便将其转换为 CSV 或 HTML。这些括号表示它是一个对象、数组或其他东西。谁能告诉我将其转换为文本或 Convertto-CVS o Convertto-HTML 命令可以工作的代码。

Get-Member 命令的输出(子集)是这样的:

类型名称:Amazon.IdentityManagement.Model.UserDetail名称:等于成员类型:方法定义:bool Equals(System.Object obj)

类型名称:Amazon.IdentityManagement.Model.UserDetail名称:GetHashCode成员类型:方法定义:int GetHashCode()

类型名称:Amazon.IdentityManagement.Model.UserDetail名称:组列表成员类型:属性(property)定义:System.Collections.Generic.List[string] GroupList {get;set;}

谢谢

最佳答案

您可以执行类似以下操作,这将在 GroupList 单元格中创建一个以分号分隔的列表:

(Get-IAMAccountAuthorizationDetail).UserDetailList |
Select-Object UserName,@{n='GroupList';e={$_.Grouplist -join ';'}}

解释:

语法 @{n='Name';e={Expression}} 被称为计算属性,如 Select-Object 中所述。 .以下是有关计算属性的一些信息:

  • 它是一个具有自定义属性的哈希表。
  • 第一个属性是Name,它是表达式输出的标签。 nNamellabel 都是该属性可接受的属性名称。
  • 传递给 n 的值只是您正在创建的字符串。它是将显示在您的输出中的属性名称,它不需要已经存在于您的对象中。您的实际属性称为 GroupList。以 n='All The Groups' 为例,属性名称在您的输出中将变为 All The Groups`。重复使用该属性当前具有的相同名称并没有错。
  • Expressione 是 ScriptBlock,这就是它被 {} 包围的原因。 ScriptBlock 负责在您的自定义属性中生成值。
  • $_ 是传入 ScriptBlock 的当前管道对象。这意味着如果你有一个集合(就像你在你的情况下所做的那样),$_ 将按顺序代表这些项目中的每一个。
  • 如果您想添加另一个计算属性,只需在最后一个之后添加一个逗号并使用计算属性语法,如下所示:

    Select-Object @{n='CustomProperty1';e={$_.ObjectProperty1}},@{n='CustomProperty2';e={$_.ObjectProperty2}}

关于amazon-web-services - 将 Powershell 数组转换为文本,以便将其导出为 CSV 或 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59634407/

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