我有带有标签 RDP、Test 等的 ec2 实例。
我创建了一个函数来根据标签建立 WinRM 连接:
function PSconnector($IP){
# code to get instance tag
#....
if ($instance_tag -match 'RDP') {
$user = "foo"
$pass = "bar"
}
else{
# donwload config
#....
$config = Get-Content .\$config_name| Out-String | ConvertFrom-Json
$user = $config.Server.ServerUser
$pass = $config.Server.ServerPassword
}
# running echo to check only
echo $user
echo $pass
#
return ($user, $pass)
}
当我调用它时:
$creds = PSconnector($ip)
$creds
对于 RDP - 没问题。但对于另一个:
{
"AcceptRanges": "bytes",
"LastModified": "Fri, 11 Jan 2019 09:56:53 GMT",
"ContentLength": 2919,
"ETag": "\"1f5ace2cfc81ba53ffde4b0e66cb65da\"",
"ContentType": "application/json",
"Metadata": {}
}
foobar
barfoo
同时,函数中的 echo 显示正确的变量,没有 json,只有:
foobar
barfoo
编辑1
使用 aws cli 下载的配置
aws s3api get-object --bucket $bucket --key $key/$config_name $config_name
EDIT2如果我用Get-S3Object
,而不是aws cli
结果是相似的:
ETag : "1f5ace2cfc81ba53ffde4b0e66cb65da"
BucketName : jenkins-configuration-files
Key : __json.config___
LastModified : 1/11/2019 11:56:53 AM
Owner : Amazon.S3.Model.Owner
Size : 2919
StorageClass : STANDARD
foobar
barfoo
问题出在哪里?
管道Read-S3Object
以Out-Null
停止返回的命令输出:
Read-S3Object -BucketName $bucket -Key $key/$config_name -File $config_name | Out-Null
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句