Update find_vstool.ps1

Do not attempt to verify the fingerprint since it changes often. It seems to be overkill to check it.
This commit is contained in:
BlueBlock
2023-03-25 12:03:37 -04:00
parent 5667a07b25
commit a27cdcfdb5

View File

@@ -24,7 +24,7 @@ function EditBinCertificateIsValid() {
) )
$file_signature = Get-AuthenticodeSignature -FilePath $Path $file_signature = Get-AuthenticodeSignature -FilePath $Path
if (($file_signature.Status -ne "Valid") -or ($valid_microsoft_cert_thumbprints -notcontains $file_signature.SignerCertificate.Thumbprint)) { if (($file_signature.Status -ne "Valid") -or ($valid_microsoft_cert_thumbprints -notcontains $file_signature.SignerCertificate.Thumbprint)) {
Write-Warning "Could not validate the signature of $Path" Write-Warning "Could not validate the signature of $Path $($file_signature.SignerCertificate.Thumbprint)"
Write-Output "file_signature.SignerCertificate.Thumbprint: $($file_signature.SignerCertificate.Thumbprint)" Write-Output "file_signature.SignerCertificate.Thumbprint: $($file_signature.SignerCertificate.Thumbprint)"
return $false return $false
} else { } else {
@@ -32,7 +32,6 @@ function EditBinCertificateIsValid() {
} }
} }
function ToolCanBeExecuted { function ToolCanBeExecuted {
param ( param (
[string] [string]
@@ -41,6 +40,7 @@ function ToolCanBeExecuted {
$env:PATHEXT.Contains((Get-Item $Path).Extension.ToUpper()) $env:PATHEXT.Contains((Get-Item $Path).Extension.ToUpper())
} }
$rootSearchPaths = @( $rootSearchPaths = @(
[System.IO.Directory]::EnumerateFileSystemEntries("C:\Program Files", "*Visual Studio*", [System.IO.SearchOption]::TopDirectoryOnly), [System.IO.Directory]::EnumerateFileSystemEntries("C:\Program Files", "*Visual Studio*", [System.IO.SearchOption]::TopDirectoryOnly),
[System.IO.Directory]::EnumerateFileSystemEntries("C:\Program Files (x86)", "*Visual Studio*", [System.IO.SearchOption]::TopDirectoryOnly) [System.IO.Directory]::EnumerateFileSystemEntries("C:\Program Files (x86)", "*Visual Studio*", [System.IO.SearchOption]::TopDirectoryOnly)
@@ -52,7 +52,8 @@ foreach ($searchPath in $rootSearchPaths) {
Write-Verbose "Searching in folder '$visualStudioFolder'" Write-Verbose "Searching in folder '$visualStudioFolder'"
$matchingExes = [System.IO.Directory]::EnumerateFileSystemEntries($visualStudioFolder, $FileName, [System.IO.SearchOption]::AllDirectories) $matchingExes = [System.IO.Directory]::EnumerateFileSystemEntries($visualStudioFolder, $FileName, [System.IO.SearchOption]::AllDirectories)
foreach ($matchingExe in $matchingExes) { foreach ($matchingExe in $matchingExes) {
if ((EditBinCertificateIsValid -Path $matchingExe) -and (ToolCanBeExecuted -Path $matchingExe)) { #if ((EditBinCertificateIsValid -Path $matchingExe) -and (ToolCanBeExecuted -Path $matchingExe)) {
if (ToolCanBeExecuted -Path $matchingExe) {
return $matchingExe return $matchingExe
} }
} }