Powershell 创建 pscustomobject 对象

Powershell creating pscustomobject object

我需要一些我真的想不通的帮助。我有一个包含大量这些 ID 的文件

我需要在 powershell 中创建一个 json 负载,看起来像这样包含每个 ID

{
  "assetIds": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "f86354c4-8e69-4cee-b85c-11b9534019e0",
    "6829c1ad-17d8-4d9c-93c7-2a4b6acfc201"
  ],
  "sendNotification": true
}

相当简单:

# define object
$object = [pscustomobject]@{
  assetIds = @(
    Get-Content path\to\file.txt
  ) -as [string[]]
  sendNotification = $true
}

# convert to JSON
$object |ConvertTo-Json

@()(“子表达式运算符”)确保 assetIds 属性 的值始终是一个数组(即使 Get-Content returns 0个或只有1个ID)

-as [string[]] 转换可防止 PowerShell 序列化可能已由 Get-Content

附加到字符串的扩展属性