这与AWS证书管理员有关:
Get-ACMCertificatelist | Get-ACMCertificateDetail | Select -ExpandProperty renewalsummary | Where-object {$_.renewalStatus -ne "Success"}
以下是输出,我想删除那些大括号:
DomainValidationOptions RenewalStatus ----------------------- ------------- {Certificate1} PENDING_AUTO_RENEWAL {certificate2} PENDING_AUTO_RENEWAL
答案 0 :(得分:2)
有问题的对象实际上是为DomainValidationOptions
部分提供了一个数组,该数组可以包含多个值。
| Select @{n="DomainValidationOptions";e={($_.DomainValidationOptions -join ",")}},RenewalStatus
将它放在查询的末尾将用逗号分隔的字符串而不是数组替换DomainValidationOptions
,但保留名称,如果只有一个选项,这在技术上只是将其转换为字符串
答案 1 :(得分:1)
将集合转换为格式化cmdlet中的字符串时会自动添加这些内容。您可以自己格式化对象以消除它们。
答案 2 :(得分:1)
您可以为要深入查看的DomainValidationOptions的每个属性指定calculated properties。
将DomainValidationOptions移至Get-Member -MemberType Property
,以查看您将要使用的属性:
Get-ACMCertificateList |
Get-ACMCertificateDetail |
Select -ExpandProperty RenewalSummary |
Select -ExpandProperty DomainValidationOptions |
Get-Member -MemberType Property
TypeName: Amazon.CertificateManager.Model.DomainValidation
Name MemberType Definition
---- ---------- ----------
DomainName Property string DomainName {get;set;}
ValidationDomain Property string ValidationDomain {get;set;}
ValidationEmails Property System.Collections.Generic.List[string] ValidationEmails {get;set;}
ValidationStatus Property Amazon.CertificateManager.DomainStatus ValidationStatus {get;set;}
为了举例,假设我们只想检索DomainName和ValidationDomain。我们将为每个属性添加两个计算属性,然后只需在RenewalSummary对象上定期选择RenewalStatus:
Get-ACMCertificateList |
Get-ACMCertificateDetail |
Select -ExpandProperty RenewalSummary |
Where-object {$_.RenewalStatus -ne "Success"} |
Select @{N='DomainName';E={$_.DomainValidationOptions.DomainName}}, `
@{N='ValidationDomain';E={$_.DomainValidationOptions.ValidationDomain}}, `
RenewalStatus
DomainName ValidationDomain RenewalStatus
---------- ---------------- -------------
*.subdomain.mydomain.com mydomain.com PENDING_AUTO_RENEWAL
mything.mydomain.com mydomain.com PENDING_AUTO_RENEWAL
您可以对ValidationEmails执行类似的操作,我没有在此示例中包含它,因为这会产生太多属性,无法在Stack Overflow上干净地格式化。如果要展开集合并将其转换为字符串,其计算属性将如下所示:
@{N='ValidationEmails';E={$_.DomainValidationOptions.ValidationEmails -join ','}}