Powershell ผลส่งออกไม่ใช่อาเรย์ประเภทแต่ข้อความประเภท?

0

คำถาม

สวัสดีค่ะฉันกำลังเขียนสคริปต์ที่จะเรียกเพื่อ AZ migration รูปแบบ api

        $siteuri= 'https://management.azure.com/subscriptions/' + $metadata.compute.subscriptionID +'/resourceGroups/' + $AzMigreateResourceGroup+ '/providers/Microsoft.Migrate/migrateProjects/' + $ProjectName + '/solutions/Servers-Discovery-ServerDiscovery?api-version=2018-09-01-preview'
        $siteoutput=(Invoke-RestMethod -Headers $Authtoken -uri $siteuri).properties.details.extendeddetails.applianceNameToSiteIdMapV3

ผลฉันเอาคืนนี้

[
  {
    "lab3dev-app01": {
      "ApplianceName": "xxx",
      "SiteId": "xxx",
      "KeyVaultId": "xxx",
      "KeyVaultUrl": "xxx",
      "ApplianceDetails": {
        "machineID": "xxx",
        "IPAddress": "192.168.50.210",
        "HostName": "WIN-ETP6NTN8B65",
        "isRegistered": true,
        "discoveryStatus": "Success",
        "deepDiscoveryDisabled": false
      },
      "CertificateContents": {
        "xxx": ""
      },
      "AadAppDetails": {
        "TenantID": "xxx",
        "AppName": "xxx",
        "AppID": "xxx",
        "ObjectID": "xxx"
      },
      "ScaleOutList": null,
      "isV2Site": false
    }
  },
  {
    "l3devhyper01": {
      "ApplianceName": "xxx",
      "SiteId": "xxx",
      "KeyVaultId": "xxx",
      "KeyVaultUrl": "xxx",
      "ApplianceDetails": {
        "machineID": "xxx",
        "IPAddress": "192.168.50.143",
        "HostName": "WIN-PKKCDSLE6OD",
        "isRegistered": true,
        "discoveryStatus": "Success",
        "deepDiscoveryDisabled": false
      },
      "CertificateContents": {
        "l3devhyper017a74agentauthcertv2": ""
      },
      "AadAppDetails": {
        "TenantID": "xxx",
        "AppName": "xxx",
        "AppID": "xxx",
        "ObjectID": "xxx"
      },
      "ScaleOutList": null,
      "isV2Site": false
    }
  }
]

ฉันหวังว่านี่คงเป็นอาเรย์ประเภทดังนั้นฉันสามารถทำการค้นหาแต่ gettype()บอกฉันว่านี่เป็นข้อความ?

คือนั่นก็เพื่อผลส่งออกนี่เป็นอาเรย์ไม่ได้เป็นข้อความ?

azure powershell
2021-11-24 05:17:33
1

คำตอบที่ดีที่สุด

1

ถอดถอน-RestMethod มันกลับไปเป็นวัตถุคุณไม่ใช้มันเพื่อเข้าใช้งานเป็นพิเศษบ้าน คุณจะต้องดูรูปแบบ api รายละเอียดจะเห็นเมื่อไหร่ที่มันเป็นแค่ข้อความลักษณะเฉพาะ(ตัวอย่างเช่นนั้นอาจจะเป็นกรณีของ).

อย่างที่คุณสามารถมองเห็นจากนั้นข้อความนั่นมันเป็น LANGUAGE วัตถุคุณสามารถใช้ ConvertFrom-Language เพื่อเปลี่ยนมันเป็นวัตถุชิ้นหนึ่ง

ที่ง่ายที่สุดคดีโดยไม่บอกเพิ่มเติมผิดพลาดในการจัดการจะเป็น:

$siteoutput = Invoke-RestMethod -Headers $Authtoken -uri $siteuri
$siteoutput = $siteoutput.properties.details.extendeddetails.applianceNameToSiteIdMapV3 | ConvertFrom-Json
2021-11-24 07:03:22

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่