Получите время, когда вы последний раз видели рабочую группу Azure Hybrid - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь получить последнее увиденное значение времени для гибридных рабочих групп с помощью PowerShell. Однако я не могу найти ни один из параметров «Get-AzureRMAutomationHybridWorkerGroup» или членов этого командлета, которые могут получить это значение. Я вижу, что могу получить только время регистрации. Любой совет?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

наконец-то я заработал, импортировав последнюю версию 0.6.1 из модуля Az.Automation. то же самое верно и для «старого» командлета с префиксом AzureRM и версией 6.13.1: https://www.powershellgallery.com/packages/AzureRM/6.13.1

Отсутствующая вещь уже была исправлена ​​в сентябре (https://github.com/Azure/azure-powershell/commit/e098199011c3ad09ef94a0b70f6de76f61bddd12#diff-f3a5751aabbc428aaa014a0c847c2e61)

enter image description here

PS /home/Falco> Get-Module

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     0.6.1      Az.Automation                       {Export-AzAutomationDscConfiguration, Export-AzAutomationDscNodeReportContent, Export-AzAutomationRunbook, Get-AzAutomationAccount...}
Script     0.6.1      Az.Profile                          {Add-AzEnvironment, Clear-AzContext, Clear-AzDefault, Connect-AzAccount...}

Версия 0.5.0 была установлена ​​ранее и имела проблему с отсутствующей датой.

это даст вам желаемый результат.

PS /home/Falco> (Get-AzAutomationHybridWorkerGroup -ResourceGroupName RG1 -AutomationAccountName Automationtest).RunbookWorker | fl


IpAddress        : 192.168.1.7,172.17.192.1,172.18.201.17
Name             : Server
RegistrationTime : 11/18/18 11:55:52 PM +00:00
LastSeenDateTime : 11/22/18 1:25:23 AM +00:00
0 голосов
/ 16 ноября 2018

это открытая проблема с командлетом Get-AzureRmAutomationHybridWorkerGroup, см. https://github.com/Azure/azure-powershell/issues/5959

до исправления, вам нужно пойти общим путем и сделать несколько вызовов API:

первая проверка https://resources.azure.com и найдите свой ресурс и недостающие свойства.тогда вы готовы получить их с помощью PowerShell, например:

Get-AzureRmResource -ResourceGroupName RG1 -ResourceType Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups -ResourceName "AutomationTest" -ApiVersion 2015-10-31

, даже если общий командлет показывает только следующие значения, но не извлекает значение lastSeendatetime:

Name
ResourceId
ResourceName
ResourceType
ResourceGroupName SubscriptionId

, хотя данные отправляются как выходные данные отладки ($DebugPreference="Continue"), показывают:

Body:
{
  "value": [
    {
      "id":
"/subscriptions/12345xyz/resourceGroups/RG1/providers/Microsoft.Automation/automationAccounts/automationtest/hybridRunbookWorkerGr
oups/TestHy",
      "name": "TestHy",
      "hybridRunbookWorkers": [
        {
          "name": "Server1",
          "ip": "4.4.4.4",
          "registrationTime": "2018-11-19T00:55:52.0407467+01:00",
          "lastSeenDateTime": "2018-11-19T17:16:48.497+01:00",
          "azureResourceId": ""
        }
      ],
      "credential": null,
      "groupType": "User"
    }
  ]
}

в качестве обходного пути,вы можете захватить выходные данные отладки

(Get-AzureRMAutomationHybridWorkerGroup -ResourceGroupName RG1 -AutomationAccountName test ) 5>&1 | Set-Variable out и извлечь lastSeenDateTime из этой строки, например, с помощью $out | findstr "lastseen"

проверьте https://docs.microsoft.com/en-us/rest/api/automation/hybridrunbookworkergroup/get, чтобы получить требуемое свойство с помощью вызова REST дляправильно, но аутентификация должна быть сделана снова, но есть несколько советов, которые вы можете погуглить, например https://blog.tekspace.io/access-azure-rest-api-using-powershell/

...