提取日志分析主键

时间:2020-10-27 03:52:33

标签: azure powershell azure-powershell azure-log-analytics

我试图通过使用以下命令来获取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
    

谢谢

1 个答案:

答案 0 :(得分:0)

Get-AzOperationalInsightsWorkspaceSharedKey cmdlet的输出是PSWorkspaceKeys类型的对象,具有两个属性:

  • PrimarySharedKey
  • SecondarySharedKey

因此,您应该可以使用$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;}

参考:Get-AzOperationalInsightsWorkspaceSharedKey