我正在尝试检查程序集是否是强名称签名的。
以下是我的PowerShell脚本
function Get-AssemblyStrongName($assemblyPath)
{
[System.Reflection.AssemblyName]::GetAssemblyName($assemblyPath).FullName
}
$File = Get-ChildItem -Path $args[0] -Include @("*.dll","*.exe") -Recurse
Foreach ($f in $File)
{
$assembly=$f.FullName
Get-AssemblyStrongName $assembly
}
输出如下所示。
Sampledll,版本=1.0.0.0,文化=中性,PublicKeyToken=70ea1bb087B4tbed
如果 publickeytoken 为空,我认为它没有签名。我试图写如果条件像
$Assembly=Get-AssemblyStrongName $assembly
If ($assembly -contains "null" ) { "assembly is not signed" }
尽管许多 exe 或 dll 的 publickey 为 null,但它仍然没有显示“程序集未签名”的输出。
如何使用 if 条件检查 publickeytoken 是否为空?(或程序集是否签名)