Powershell输出-格式化

Powershell输出-格式化,powershell,Powershell,我有下面的powershell脚本,我希望格式能够显示整个字符串,就好像我在使用带有-Wrap和-Autosize的format Table一样。我尝试过使用这些,但它没有显示所有需要的属性,不确定我是否正确使用了它,或者是什么情况 $threshold = 30 #Number of days to look for expiring certificates $deadline = (Get-Date).AddDays($threshold) #Set deadline date

我有下面的powershell脚本,我希望格式能够显示整个字符串,就好像我在使用带有-Wrap和-Autosize的format Table一样。我尝试过使用这些,但它没有显示所有需要的属性,不确定我是否正确使用了它,或者是什么情况

$threshold = 30   #Number of days to look for expiring certificates 

$deadline = (Get-Date).AddDays($threshold)   #Set deadline date 

Invoke-Command -ComputerName  { Dir Cert:\LocalMachine\My } | foreach { 
    If ($_.NotAfter -le $deadline) { 
        $_ | Select Issuer, Subject, NotAfter, @{Label="Expires In (Days)";
        Expression={($_.NotAfter - (Get-Date)).Days}} 
    } 
} 
这就是我当前的输出:

Issuer                                     Subject                                    NotAfter          Expires In (Days)

CN=MASKEDMASKEDMASKED ...   CN=masked.customer.masked.com, OU=...       2/21/2014 5:59:59 PM              -17
CN=MASKEDMASKEDMASKED ...   CN=masked.customer.masked.com, OU=...       2/21/2014 5:59:59 PM              -17

有人能提供一些帮助吗?基本上,我只需要展开这些列即可查看所有详细信息。

使用Select Object cmdlet的-ExpandProperty参数

如果您不打算在这些命令之后使用数据,您可以按照您提到的格式-*对其进行管道传输。选择将获取数据,但不会显示友好的显示。您需要显示它的原因是什么

下面是一个简单的例子,您可以从这两个方面获得最佳效果:

#Assign output to a variable
    $result = Invoke-Command -ComputerName  { Dir Cert:\LocalMachine\My } | foreach { 
        If ($_.NotAfter -le $deadline) { $_ | Select Issuer, Subject, NotAfter, @{Label="Expires    In (Days)";Expression={($_.NotAfter - (Get-Date)).Days}} } 
    }

#Write the results to the verbose stream.  Use format table and out-string for appearances
#Change to write-host, debug, error, warning, etc. as needed
    Write-Verbose "Results:`n$($result | Format-Table -AutoSize -Wrap | Out-String)"

#$result is still a usable object at this point
    $result

*编辑:我没有资格评论Cole9350的建议——不要使用ExpandProperty。这是为了扩展单个属性…

@CTravel为什么要将Label=Expires In Days更改为Label=Expires In Days?这似乎是对编辑权限的不当使用。你完全改变了脚本的功能对不起,这不是计划。。没有看到它改变。。那是stackoverflow重新上线的时候。。不知道出了什么问题。。。现在编辑它。