要检查程序集的数字签名,我使用Windows PowerShell Get-AuthenticodeSignature
。
Get-ChildItem -File -Path "C:\Program Files (x86)\My Company\My Product\Components\microsoft.*.dll" -Recurse |
Get-AuthenticodeSignature |
Select-Object -Property Path,Status,@{Name='SubjectName';Expression={($_.SignerCertificate.Subject)}}
输出字段SubjectName的名称/值对过多:
Path Status SubjectName ---- ------ ----------- C:\Program Files (x86)\My Company\My Product\Components\microsoft.Expression.Drawing.dll NotSigned C:\Program Files (x86)\My Company\My Product\Components\microsoft.Expression.Interactions.dll NotSigned C:\Program Files (x86)\My Company\My Product\Components\microsoft.ReportViewer.Common.dll Valid CN=microsoft Corporation,OU=MOPR,O=microsoft Corporation,L=Redmond,S=Washington,C=US C:\Program Files (x86)\My Company\My Product\Components\microsoft.ReportViewer.DataVisualization.dll Valid CN=microsoft Corporation,C=US
如何将输出减小为单个值:“ microsoft Corporation”? 我想要的输出是这样的CSV:
Path,SubjectName C:\Program Files (x86)\My Company\My Product\Components\microsoft.Expression.Drawing.dll,NotSigned,C:\Program Files (x86)\My Company\My Product\Components\microsoft.Expression.Interactions.dll,C:\Program Files (x86)\My Company\My Product\Components\microsoft.ReportViewer.Common.dll,Valid,microsoft Corporation C:\Program Files (x86)\My Company\My Product\Components\microsoft.ReportViewer.DataVisualization.dll,microsoft Corporation