Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Object PowerShell中的返回对象数组_Object_Powershell_Ps1 - Fatal编程技术网

Object PowerShell中的返回对象数组

Object PowerShell中的返回对象数组,object,powershell,ps1,Object,Powershell,Ps1,我目前有一个文件,我需要阅读,其中包含以下信息 美元部署目标=@{ “1”=@{“白名单”=@(“戴夫”、“安德鲁”)}; “2”=@{“黑名单”=@(“丽塔”、“桑杰”)}; }; 我正在尝试编写一个powershell脚本,如果部署目标=1,它将从ps1文件返回此信息并返回白名单 非常感谢您的任何帮助 西蒙FTR,我对你的问题投了反对票,因为它没有显示你自己的努力。但既然问题很简单明了,我还是要回答 您的数据结构是具有嵌套哈希表的哈希表。在JSON表示法中,结构如下所示: PS C:\> $

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

美元部署目标=@{ “1”=@{“白名单”=@(“戴夫”、“安德鲁”)}; “2”=@{“黑名单”=@(“丽塔”、“桑杰”)}; };

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

非常感谢您的任何帮助


西蒙

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
或者像这样:

PS C:\> $deployTargets | ConvertTo-Json
{
    "2":  {
              "BlackList":  [
                                "Rita",
                                "Sanjay"
                            ]
          },
    "1":  {
              "WhiteList":  [
                                "Dave",
                                "Andrew"
                            ]
          }
}
$hashtable[key]
$hashtable.key
$deployTargets['1'][Whitelist]
$deployTargets.'1'.Whitelist
因此,您可以访问以下所需信息:

PS C:\> $deployTargets | ConvertTo-Json
{
    "2":  {
              "BlackList":  [
                                "Rita",
                                "Sanjay"
                            ]
          },
    "1":  {
              "WhiteList":  [
                                "Dave",
                                "Andrew"
                            ]
          }
}
$hashtable[key]
$hashtable.key
$deployTargets['1'][Whitelist]
$deployTargets.'1'.Whitelist
或者像这样:

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

它没有显示任何努力,因为我尝试过的一切都没有给我想要的。。。然而,在看到你的回应之前,我通过坚持不懈找到了我所需要的。。。通过使用
$deploytargets.($code)。(“白名单”)
@SimonPrice“展示努力”意味着你需要展示你已经尝试了什么,产生了什么结果,以及这些结果与你的期望有何不同。这也是对你请求帮助的人的一种常见礼貌,这样他们就不需要再经历你已经经历过的所有动作。