Powershell - 遍历 json 文件
Powershell - iterating through json file
我的 json 文件如下所示:
[
{
"OU": "ABC",
"OUDN": "OU=x,OU=x,DC=x,DC=x,DC=x"
},
{
"OU": "XYZ",
"OUDN": "OU=x,OU=x,DC=x,DC=x,DC=x"
]
“OU”是 AD 组织单位的名称
“OUDN”是 AD 组织单位的关联可分辨名称
我想获取 json 文件中每个组织单位的描述(AD 属性):
Get-ADOrganizationalUnit -Identity "DistinguishedName of the OU"|FT description
我该怎么做?如何遍历我的 json 文件?
我的做法:
$OU = (Get-Content -path "C:\file.json"|ConvertFrom-JSON).OU
$OUDN = (Get-Content -path "C:\file.json"|ConvertFrom-JSON).OUDN
foreach ($item in $OU) {
Get-ADOrganizationalUnit -Identity ????? }
非常感谢!
你已经很接近了,你可以用 foreach
循环遍历 Json 对象的元素,就像你已经在做的那样:
$json = Get-Content 'C:\file.json' | ConvertFrom-Json
$ous = foreach($item in $json) {
Get-ADOrganizationalUnit $item.OUDN -Properties Description
}
$ous | Select-Object Name, Description
请注意,您不需要为每个 属性 两次 Get-Content
,Json 的每个对象都包含两个属性的值(OU
和 OUDN
):
PS /> $json[0]
OU OUDN
-- ----
ABC OU=x,OU=x,DC=x,DC=x,DC=x
PS /> $json[0].OUDN
OU=x,OU=x,DC=x,DC=x,DC=x
我的 json 文件如下所示:
[
{
"OU": "ABC",
"OUDN": "OU=x,OU=x,DC=x,DC=x,DC=x"
},
{
"OU": "XYZ",
"OUDN": "OU=x,OU=x,DC=x,DC=x,DC=x"
]
“OU”是 AD 组织单位的名称
“OUDN”是 AD 组织单位的关联可分辨名称
我想获取 json 文件中每个组织单位的描述(AD 属性):
Get-ADOrganizationalUnit -Identity "DistinguishedName of the OU"|FT description
我该怎么做?如何遍历我的 json 文件?
我的做法:
$OU = (Get-Content -path "C:\file.json"|ConvertFrom-JSON).OU
$OUDN = (Get-Content -path "C:\file.json"|ConvertFrom-JSON).OUDN
foreach ($item in $OU) {
Get-ADOrganizationalUnit -Identity ????? }
非常感谢!
你已经很接近了,你可以用 foreach
循环遍历 Json 对象的元素,就像你已经在做的那样:
$json = Get-Content 'C:\file.json' | ConvertFrom-Json
$ous = foreach($item in $json) {
Get-ADOrganizationalUnit $item.OUDN -Properties Description
}
$ous | Select-Object Name, Description
请注意,您不需要为每个 属性 两次 Get-Content
,Json 的每个对象都包含两个属性的值(OU
和 OUDN
):
PS /> $json[0]
OU OUDN
-- ----
ABC OU=x,OU=x,DC=x,DC=x,DC=x
PS /> $json[0].OUDN
OU=x,OU=x,DC=x,DC=x,DC=x