我尝试使用以下命令获取 Azure Log Analytics 工作区主键:
Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName "abc-rg" -Name "abc-LAW"
上述命令输出主键和辅助键。但是我怎样才能获取变量的主键并在我的 PowerShell 代码中使用它呢?
我正在尝试使用此行来获取第一个 key :
(Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName aby-rg -Name abys-LAW).value[0]
但我收到错误:
Cannot index into a null array.
At line:36 char:1
- [string]$omsSharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey ...
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : NullArray
谢谢
最佳答案
Get-AzOperationalInsightsWorkspaceSharedKey cmdlet 的输出是 PSWorkspaceKeys 类型的对象。 ,有两个属性:
- 主共享 key
- 辅助共享 key
因此您应该能够使用 $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;}
关于azure - 获取 Log Analytics 主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64548089/