Powershell - 使用多维数组存储数据 - 需要建议

标签 powershell

我用谷歌搜索了一段时间,但没有找到解决问题的方法。 我不得不说我是 Powershell 的新手。

我想创建以下数组 $a = (A,B,C,D) 其中 A = 1 串(始终) B = 1 串(始终) C = 未定义的字符串数量。我需要能够动态添加元素 D = 未定义的字符串数量。我需要能够动态添加元素(与 C 的数量相同)

这可能吗? 数组的 2 个元素的示例

  1. ("WSTM0123456", "192.168.10.155",("WSTM8765421","WSTM9856454","WSTM1289765"),("192.36.36.36", "187.25.25.25","192.69.89.65") )

  2. ("WLDN1251254", "156.25.36.54", ("WLDN1234512", "WLDN9865323"), ("187.154.12.12","163.136.25.98"))

我事先不知道 C 和 D 中有多少元素,并且我必须使用 for 循环在位置 C 和 D 中附加字符串。

范围:将多个共同的字符串(C 和 D)分组到同一字符串(A/B)下。

如有任何帮助,我们将不胜感激

谢谢, 马可

最佳答案

您可以做到这一点,但这可能会非常痛苦,因为在 PowerShell 中处理数组有时会因为大量隐式扁平化而变得很麻烦。

我建议为此创建一个自定义类型。然后,您还可以为各个部分指定有用的名称(我不知道您在这里所做的事情的目的,所以我在这里编造名称。请随意更改):

$properties = @{
  Name = 'WSTM0123456';
  IP = [ipaddress]'192.168.10.155';
  ListOfNames = @("WSTM8765421","WSTM9856454","WSTM1289765");
  ListOfIPs = [ipaddress[]]@("192.36.36.36", "187.25.25.25","192.69.89.65")
}

$foo = New-Object PSObject -Property @properties

然后您可以简单地附加新项目,如下所示:

$foo.ListOfNames += 'AnotherName'

关于Powershell - 使用多维数组存储数据 - 需要建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4935099/

相关文章:

python - 在Powershell中执行python脚本时获取 "ParserError: (:) [], ParentContainsErrorRecordException"

windows - AzureAD中的Remove-Msoldomain cmdlet没用?

windows - 如何在 PowerShell 中将参数传递给类 Unix 命令(通过 MinGW)

powershell - 按 Import-CSV 中的最大数值对对象进行排序

powershell - 如何创建资源级别变量

Powershell 使用反引号换行 - 奇怪

PowerShell 2.0 : Accessing Windows Shares during a Remote Session

powershell - 我的 if 语句有问题吗?

powershell - Msvm_ResourceAllocationSettingData类属性连接中的Hyper-V 2012 R2 WMI错误

powershell - 在 PowerShell 中通过 "Certificate Template Name"识别证书