我正在编写一个PowerShell运行簿,以查看蔚蓝订阅中的所有vms,找出是否启用了客户级监视并启用它。
下面是我用来启用对角线的命令。
Set-AzureRmVMDiagnosticsExtension -ResourceGroupName xxxxxx -VMName xxxxxx -DiagnosticsConfigurationPath $diagnosticsconfig_path -StorageAccountName xxxxxx我正在考虑将diag文件存储在存储博客中,如何使用$diagnosticsconfig_path来指向它呢?
如果我用
Get-AzureStorageBlobContent -blob "xxx.json" -Container xxx -Context $storageAccount.Context
or
Get-AzureStorageFileContent -ShareName 'xxx' -Context $storageAccount.Context -path xxx.json 运行簿可以下载该文件,但我如何将此文件称为Set-AzureRmVMDiagno粘贴中的对角路径?
发布于 2018-11-21 06:30:42
尝试下面的命令,您不需要下载该文件,我们可以直接指向blob url的路径。
$SAResourceGroupName="<Storage Account ResourceGroupName>"
$StorageAccountName="<StorageAccountName>"
$StorageAccountKey = (Get-AzureRmStorageAccountKey -ResourceGroupName $SAResourceGroupName -AccountName $StorageAccountName).Value[1]
$Context=New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
$tmpStart = Get-Date
$tmpEnd = $tmpStart.AddHours(2.0)
$SASToken = New-AzureStorageBlobSASToken -Blob "diagnostics_publicconfig.xml" -Container "111" -Context $Context -Permission r -StartTime $tmpStart -ExpiryTime $tmpEnd -FullURI
Set-AzureRmVMDiagnosticsExtension -ResourceGroupName joywebapp -VMName joyVM -DiagnosticsConfigurationPath "$SASToken" -StorageAccountName joystoragev2

在运行手册中:

发布于 2020-04-28 11:36:34
谢谢你的好剧本。让我分步骤定义整个过程:
$VMRGName = (Get-AzureRmResource -Name $VMName -ResourceType "Microsoft.Compute/virtualMachines" ).ResourceGroupName
$StorageAccountName= "storageaccount01"
$SAResourceGroupName= (Get-AzureRmResource -Name $diagstoragename -ResourceType 'Microsoft.Storage/storageAccounts').ResourceGroupName
$storagecontainer = "test"
$StorageAccountKey = (Get-AzureRmStorageAccountKey -ResourceGroupName $SAResourceGroupName -AccountName $StorageAccountName).Value[1]
$Context= New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
$tmpStart = Get-Date
$tmpEnd = $tmpStart.AddHours(2.0)
$SASToken = New-AzureStorageBlobSASToken -Blob "DiagnosticsPubConfig.xml" -Container $storagecontainer -Context $Context -Permission r -StartTime $tmpStart -ExpiryTime $tmpEnd -FullURI
#to SET
Set-AzureRmVMDiagnosticsExtension -ResourceGroupName $VMRGName -VMName $VMName -DiagnosticsConfigurationPath "$SASToken" -StorageAccountName $StorageAccountName
#to GET
$publicsettings = (Get-AzureRmVMDiagnosticsExtension -ResourceGroupName $VMRGName -VMName $VMName).PublicSettings
$encodedconfig = (ConvertFrom-Json -InputObject $publicsettings).StorageAccounthttps://stackoverflow.com/questions/53392917
复制相似问题