在为HDInsight编程时,我遇到了像
这样的行$storageAccountKey = Get-AzureRmStorageAccountKey
-ResourceGroupName $resourceGroupName
-Name $storageAccountName
| %{ $_.Key1 }
我理解$_
是指Get-AzureRmStorageAccountKey
命令的结果。但是%{}
的含义究竟是什么?
答案 0 :(得分:19)
%{ $_.Key1 }
⇔ForEach-Object { Write-Output $_.Key1 }
⇔,回显其属性Key1
的值。
%
是alias的ForEach-Object
。 $_
是当前对象automatic variable。
答案 1 :(得分:0)
事实上,$storageAccountKey=Get-AzureRmStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName | %{ $_.Key1 }
仅适用于 PowerShell 1.3.2 和以前的版本。
上述命令现在不起作用。
请使用最新的命令,如下所示:
$storageAccountKey = Get-AzStorageAccountKey `
-ResourceGroupName $storageAccountResourceGroupName `
-Name $storageAccountName | Where-Object {$_.KeyName -eq "key1"} | %{$_.Value}