在PowerShell中返回对象数组

时间:2014-11-07 09:59:32

标签: object powershell ps1

我目前有一个我需要阅读的文件,其中包含以下信息

  

$ deployTargets = @ {       “1”= @ {“WhiteList”= @(“Dave”,“Andrew”)};       “2”= @ {“BlackList”= @(“Rita”,“Sanjay”)};       };

我正在尝试编写一个powershell脚本,如果部署目标= 1并返回白名单,它将从ps1文件返回此信息。

非常感谢任何和所有的帮助。

西蒙

1 个答案:

答案 0 :(得分:1)

FTR,我低估了你的问题,因为它没有显示你自己的任何努力。但是,由于问题很简单明了,我还是回答了。

您的数据结构是带有嵌套哈希表的哈希表。在JSON表示法中,结构如下所示:

PS C:\> $deployTargets | ConvertTo-Json
{
    "2":  {
              "BlackList":  [
                                "Rita",
                                "Sanjay"
                            ]
          },
    "1":  {
              "WhiteList":  [
                                "Dave",
                                "Andrew"
                            ]
          }
}

哈希表(基本上是字典)是键/值对的列表。哈希表的元素可以通过它们各自的键访问,如下所示:

$hashtable[key]

或者像这样:

$hashtable.key

因此,您可以访问所需的信息:

$deployTargets['1'][Whitelist]

或者像这样:

$deployTargets.'1'.Whitelist

第一个键('1')周围的引号是必需的,因为该键是字符串'1',而不是整数1

相关问题