#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;}
Ответ №2:
Извлечение первичного ключа рабочей области Log Analytics с помощью Azure cli
az monitor log-analytics workspace get-shared-keys --resource-group $ResourceGroup --workspace-name $loganalyticsname --query "primarySharedKey"
Обратитесь к документации Azure