GPG.exe зависает при первом вызове из PowerShell - PullRequest
0 голосов
/ 22 января 2019

При первом размещении здесь, пожалуйста, извините за любые проблемы с моим форматированием.

Я загружаю CSV-файлы из SFTP, который зашифрован PGP. Затем я расшифровываю файл с помощью GPG.exe, используя эту функцию:

function Remove-Encryption 

{

[CmdletBinding()] 
param 
( 
    [Parameter(Mandatory)] 
    [ValidateNotNullOrEmpty()] 
    [ValidateScript({ Test-Path -Path $_ -PathType Leaf })] 
    [string]$inputFilePath, 

    [Parameter(Mandatory)] 
    [ValidateNotNullOrEmpty()] 
    [string]$outputFilePath, 

    [Parameter(Mandatory)] 
    [ValidateNotNullOrEmpty()] 
    [string]$Password, 

    [Parameter()] 
    [ValidateNotNullOrEmpty()] 
    [string]$GpgPath = 'C:\Program Files (x86)\GnuPG\bin\gpg.exe' 
) 
process 
{ 
    try 
    { 

        $decryptFilePath = $outputFilePath 
        Write-Verbose -Message "Decrypting [$($inputFilePath)] to [$($decryptFilePath)]" 
        Write-Host "--batch --yes --pinentry-mode loopback --passphrase $Password -o $decryptFilePath -d $($inputFilePath)"  
        $startProcParams = @{ 
            'FilePath' = $GpgPath 
            'ArgumentList' = "--batch --yes --pinentry-mode loopback --passphrase $Password -o $decryptFilePath -d $($inputFilePath)"  
            'Wait' = $true 
            'NoNewWindow' = $true 

        } 
        Write-Host "Decrypting file $($inputFilePath)"
        $result = Start-Process @startProcParams 


    } 
    catch 
    { 
        #Write-Error $_.Exception.Message 
    } 
} 

}

Нашел его где-то в Интернете, может быть, здесь, и он работает для моего случая использования, кроме одной проблемы Когда я запускаю его впервые за день, кажется, что команда зависает. Запустится GPG, сообщив, что файл зашифрован, но затем ничего не делать. Мне нужно Ctrl + C, чтобы выйти из сеанса и запустить его снова, затем он будет успешно выполнен.

Я не смог понять, в чем может быть проблема. Я обнаружил эту проблему на сайте GPG, которая довольно подробно описывает мою проблему, но, похоже, она была решена год назад, и моя версия новее (2.2.10).

Кто-нибудь знает, что я, возможно, делаю неправильно, или есть какая-то работа, чтобы разбудить это?

...