Powershell输出-格式化

用户名

我具有以下powershell脚本,并且我希望该格式显示整个字符串,就像我将Format-Table与-Wrap和-Autosize一起使用一样。我尝试使用这些属性,但是它没有显示所有需要的属性,不确定我是否使用不正确或者是什么情况。

$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

任何人都可以提供一些帮助吗?我基本上只需要扩展这些列即可查看所有详细信息。

饼干怪兽

如果您不打算在这些命令之后使用数据,则可以按照您提到的方式将它们通过管道传递给Format- *。选择将获取数据,但不会显示友好信息。是否有您需要显示它的原因?

这是一个简单的示例,您可以在这两个方面都得到最好的利用:

#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。那是为了扩展单个属性...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章