Извлечение первичного ключа аналитики журналов

#azure #powershell #azure-powershell #azure-log-analytics

#azure #powershell #azure-powershell #azure-log-analytics

Вопрос:

Я пытался получить первичный ключ рабочей области Azure Log Analytics с помощью этой команды:

 Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName "abc-rg" -Name "abc-LAW"
  

Приведенная выше команда выводит как первичный, так и вторичный ключи. Но как я могу просто получить первичный ключ к переменной и использовать его в моем коде PowerShell?

Я пытался использовать эту строку, чтобы получить ПЕРВЫЙ ключ:

 (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName aby-rg -Name abys-LAW).value[0]
  

но я получаю сообщение об ошибке:

Невозможно выполнить индексацию в нулевой массив.
В строке: 36 символ: 1

  • [строка]$omsSharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey …
  •      CategoryInfo          : InvalidOperation: (:) [], RuntimeException
        FullyQualifiedErrorId : NullArray
      

Спасибо,

Комментарии:

1. Хорошо, ребята, нашли способ. Это должно быть, (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName aby-rg -Name abys-LAW). PrimarySharedKey

2. Привет @av-az-2020 Поскольку вы самостоятельно решили проблему, не могли бы вы опубликовать свой ответ? Это может помочь большему количеству людей, у которых есть подобная проблема.

Ответ №1:

Результат командлета Get-AzOperationalInsightsWorkspaceSharedKey представляет собой объект типа PSWorkspaceKeys с двумя свойствами:

  • PrimarySharedKey
  • SecondarySharedKey

Таким образом, вы должны иметь возможность получить доступ к PrimarySharedKey с $keys.PrimarySharedKey помощью .

В случае сомнений вы можете использовать GetType метод для объекта, чтобы узнать его тип, и Get-Member командлет для просмотра полного списка его элементов.

 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

Ответ №2:

Извлечение первичного ключа рабочей области Log Analytics с помощью Azure cli

 az monitor log-analytics workspace get-shared-keys --resource-group $ResourceGroup --workspace-name $loganalyticsname --query "primarySharedKey"
  

Обратитесь к документации Azure