我需要使用write-debug
来查看azure存储访问密钥,但我需要将输出保存到txt文件中,然后在该文件中找到它并在powershell中将其用作变量,这是我的代码:
$DebugPreference = “Continue”
write-debug (Get-AzureRmStorageAccountKey -ResourceGroupName "USWest" -AccountName "mystorageaccountname") | Out-File output.txt
以下是其输出的一部分: 由于没有创建文件,因此出了问题。有人可以帮我完成代码,我只需要捕获key1,这是在“value”之后开始的长字符串:“
答案 0 :(得分:2)
您不需要使用Write-Debug cmdlet获取存储访问密钥。
这是一个简单的单行程序,可以使用Tee-Object cmdlet将Get-AzureRmStorageAccountKey
的输出保存到output.txt
。然后,使用Where-Object过滤key1
,最后使用Select-Object选择value
属性并将其存储到$key1Value
:
$key1Value = Get-AzureRmStorageAccountKey -ResourceGroupName "USWest" -AccountName "mystorageaccountname" |
Tee-Object -FilePath output.txt | # save the result to output.txt and keep it in the pipeline
Where-Object KeyName -eq 'key1' | # filter for the key1
Select-Object -ExpandProperty value # select the desired value property
您可以使用以下方法输出值:
$key1Value
你也可以试试这个:
$azureStorageAccountKey = Get-AzureRmStorageAccountKey -ResourceGroupName "USWest" -AccountName "mystorageaccountname"
$azureStorageAccountKey | Format-List * -Force | Out-File output.txt
$key1Value = $azureStorageAccountKey | Where-Object KeyName -eq 'key1' | Select-Object -ExpandProperty value