gpt4 book ai didi

json - 将 Powershell 转换为嵌套的 Json

转载 作者:行者123 更新时间:2023-12-02 23:11:24 26 4
gpt4 key购买 nike

所以我已经尝试解决这个问题几天了,但似乎找不到任何有效的方法,所以我希望你能帮助我或指出正确的方向。

我正在创建一个在 Active Directory 中创建服务帐户的 powershell 脚本,在脚本的最后是用户名和密码,然后存储在 Enterprise Password Vault 中。 REST Api 用于在此 Vault 中存储凭据。我在将我的 powershell 转换为嵌套的 Json 时遇到了一个小问题,没有嵌套它工作正常......

我需要得到的 JSON 输出是这样的:

{
"account":{
"safe":"Test_safe",
"platformID":"WindowsDomainAccount",
"address":"ad.local",
"password":"password",
"username":"test",
"disableAutoMgmt":"true",
"disableAutoMgmtReason":"test",
"properties":
[
{"Key":"Title", "Value":"Test Account"},
{"Key":"Description", "Value":"REQ0000001"},
]
}
}

这是我的 Powershell,不包括工作正常的“属性”嵌套。
   $hash = [ordered]@{
account = [ordered]@{
safe="ServiceAccounts";
platformID="WindowsDomainAccount";
address="ad.local";
password="Password1";
username="svc-test";
disableAutoMgmt="true";
disableAutoMgmtReason="testing";
}
}

$json = $hash | ConvertTo-Json

$invoke = Invoke-Webrequest -Uri $url -Method "POST" -Body $json -ContentType "application/json" -Header @{"Authorization" = $header} -ErrorAction Stop -ErrorVariable WebError

当我尝试添加到我的 powershell 时,问题就开始了
"properties":
[
{"Key":"Title", "Value":"Test Account"},
{"Key":"Description", "Value":"REQ0000001"},
]

我想我的第一个问题是 Key 这个词也是一个 powershell 关键字。

我尝试了很多不同的组合,并尝试了我发现的其他文章中的很多内容,但我发现的大部分内容与通过 Powershell 解析嵌套的 Jason 相关。

希望一切都有意义。

最佳答案

下面的代码适用于我(PS v4)并且似乎以您想要的格式返回json。

$hash = [ordered]@{
account = [ordered]@{
safe="ServiceAccounts";
platformID="WindowsDomainAccount";
address="ad.local";
password="Password1";
username="svc-test";
disableAutoMgmt="true";
disableAutoMgmtReason="testing";

properties = @(
@{"Key"="Title"; "Value"="Test Account"},
@{"Key"="Description"; "Value"="REQ0000001"}
)

}
}

$json = $hash | ConvertTo-Json -Depth 99
$json

上面的输出...

{
"account": {
"safe": "ServiceAccounts",
"platformID": "WindowsDomainAccount",
"address": "ad.local",
"password": "Password1",
"username": "svc-test",
"disableAutoMgmt": "true",
"disableAutoMgmtReason": "testing",
"properties": [
{
"Key": "Title",
"Value": "Test Account"
},
{
"Key": "Description",
"Value": "REQ0000001"
}
]
}
}

关于json - 将 Powershell 转换为嵌套的 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39273545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com