使用Powershell的Azure存储中的PGP加密Blob



我正试图通过网络作业使用Powershell(项目需要,但我的语言不需要(加密Azure blob存储中的一些文件。

循环工作,我可以列出以下斑点:

DIDE HP_Dana_6cb72486-cb9f-4d03-a3c4-0953fd3e2abc.txt
DIDE HP_Dana_c4f9e193-5498-4289-9aae-d76507c2abd7.txt
DIDE/Prime150620210_703b6bcd-179f-40e6-b30b-167ad38eed08.ddi
DIDE/Prime150620211_715f0db1-fb65-4e64-83ed-2a9690ae7c5f.ddi
DIDE/Prime150620212_ebd833c1-aedf-4681-82fd-c4b09dc8da40.ddi
DIDE/Prime150620213_5d88af9d-7d5d-423b-87d8-f6b8c017e2d4.ddi
DIDE/Prime150620215_7f5eed68-b4a1-4b67-b496-f5a0fa7b1156.ddi
DIDE/Prime220620210_75bc1201-7e34-4fe2-8dd7-270ab03526dc.ddi
DIDE/Prime240620210_c48cc859-ebfc-4b2e-858c-3f5cd5764b1a.ddi
DIDE/Prime240620211_9b0373a8-121a-49b6-80e1-19596b1085da.ddi
DIDE/Prime250620210_2ef48e0e-cfeb-413f-a7ec-332706315ce9.ddi
DIDE/Prime260620210_b147f316-2146-4e17-968a-b161282c5b18.ddi
DIDE/Prime290620210_8a978889-643f-47a7-9fc4-b6c58c6fb318.ddi

到目前为止的代码。。

$context = New-AzureStorageContext -ConnectionString 'DefaultEndpointsProtocol=https;AccountName=stftoscoreyrot001;AccountKey=iSTp3g92fJcmV+FRM4VBxfGsriA9NSIJ2hHpYTQ1idy8mSCfMaqdpb7NdboethfsQzKaT1kcGks9J8wqgOjzrA==;EndpointSuffix=core.windows.net'
$containerName = 'uploadebs'
$ProgressPreference = "SilentlyContinue"
$ProgressPreference
$blobs = Get-AzureStorageBlob -Container $containerName -Context $context 
$publicKey = $env:Dide_Encryption_Key
foreach ($blob in $blobs) {     
if ($blob.Name -match '^DIDE*') {
$f = $blob.Name
Start-Process -FilePath .GnuPGbingpg.exe "--batch", "--quiet", "--yes" "-o", "d:homeDIDE*.gpg", "-e", "-r", $privateKey, $blob.Name
}
}

错误:

[07/01/2021 19:13:58 > ec2b20: SYS INFO] Status changed to Initializing
[07/01/2021 19:13:59 > ec2b20: SYS INFO] Job directory change detected: Job file 'Job_DIDEHP.ps1' timestamp differs between source and working directories.
[07/01/2021 19:14:00 > ec2b20: SYS INFO] Run script 'HP.ps1' with script host - 'PowerShellScriptHost'
[07/01/2021 19:14:00 > ec2b20: SYS INFO] Status changed to Running
[07/01/2021 19:14:02 > ec2b20: INFO] SilentlyContinue
[07/01/2021 19:14:04 > ec2b20: ERR ] Start-Process : A positional parameter cannot be found that accepts argument 
[07/01/2021 19:14:04 > ec2b20: ERR ] 'System.Object[]'.
[07/01/2021 19:14:04 > ec2b20: ERR ] At D:localTempjobstriggeredas1pqerjc.nt4Job_DIDEHP.ps1:33 char:9
[07/01/2021 19:14:04 > ec2b20: ERR ] +         Start-Process -FilePath .GnuPGbingpg.exe "--batch", "--qui ...
[07/01/2021 19:14:04 > ec2b20: ERR ] +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[07/01/2021 19:14:04 > ec2b20: ERR ]     + CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterB 
[07/01/2021 19:14:04 > ec2b20: ERR ]    indingException
[07/01/2021 19:14:04 > ec2b20: ERR ]     + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell 
[07/01/2021 19:14:04 > ec2b20: ERR ]    .Commands.StartProcessCommand
[07/01/2021 19:14:04 > ec2b20: ERR ]  
[07/01/2021 19:14:04 > ec2b20: ERR ] Start-Process : A positional parameter cannot be found that accepts argument 
[07/01/2021 19:14:04 > ec2b20: ERR ] 'System.Object[]'.
[07/01/2021 19:14:04 > ec2b20: ERR ] At D:localTempjobstriggeredas1pqerjc.nt4Job_DIDEHP.ps1:33 char:9
[07/01/2021 19:14:04 > ec2b20: ERR ] +         Start-Process -FilePath .GnuPGbingpg.exe "--batch", "--qui ...
[07/01/2021 19:14:04 > ec2b20: ERR ] +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

欢迎任何帮助!

在作为参数传递给Start-Process的数组中,"--yes""-o"之间缺少逗号。如果没有逗号,这将被解释为两个数组,而不是一个。

只有第一个数组绑定到参数-ArgumentList,第二个数组不能绑定并抛出异常。

最新更新