我试图通过使用以下命令来获取Azure Log Analytics Workspace主键:
Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName "abc-rg" -Name "abc-LAW"
以上命令输出主键和辅助键。但是我如何才能获取变量的主键并在PowerShell代码中使用它呢?
我正在尝试以下行以获取FIRST密钥:
(Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName aby-rg -Name abys-LAW).value[0]
但是我得到一个错误:
无法索引为空数组。
在第36行:char:1
- [string] $ omsSharedKey =(Get-AzOperationalInsightsWorkspaceSharedKey ...
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : NullArray
谢谢
答案 0 :(得分:0)
Get-AzOperationalInsightsWorkspaceSharedKey cmdlet的输出是PSWorkspaceKeys类型的对象,具有两个属性:
因此,您应该可以使用$keys.PrimarySharedKey
来访问PrimarySharedKey。
如有疑问,可以在对象上使用GetType
方法以了解其类型,并使用Get-Member
cmdlet来查看其成员的完整列表。
PS C:\> $keys = Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName <ResourceGroup> -Name <WorkspaceName>
PS C:\> $keys
PrimarySharedKey : 5LLi6guNfYKJ0ipSY9cv0NJ8ZeOAHlz7dX0hI9S5RTI6ISnGwa3aTvq/Mzg2SlwaaRqkZAAaSiYStlpx48y8zQ==
SecondarySharedKey : YAQo85BdaEc+W7GD2BCmXbvMFtS9XkMYui6pECl6dZS9rqk7gZjy5wo7s0/Tk+Ceq9zaNW9bbggSUaYzpeUrXw==
PS C:\> $keys.PrimarySharedKey
5LLi6guNfYKJ0ipSY9cv0NJ8ZeOAHlz7dX0hI9S5RTI6ISnGwa3aTvq/Mzg2SlwaaRqkZAAaSiYStlpx48y8zQ==
PS C:\> $keys.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False PSWorkspaceKeys System.Object
PS C:\> $keys | Get-Member -MemberType Properties
TypeName: Microsoft.Azure.Commands.OperationalInsights.Models.PSWorkspaceKeys
Name MemberType Definition
---- ---------- ----------
PrimarySharedKey Property string PrimarySharedKey {get;set;}
SecondarySharedKey Property string SecondarySharedKey {get;set;}