Powershell 在表中组合变量

Powershell 在表中组合变量,powershell,Powershell,我试图组合两个变量,每个变量包含一个值列表: cls $Sites = Get-ADReplicationSite -Filter * $Subnets = Get-ADReplicationSubnet -Filter * $a = New-Object PSObject $a | add-member Noteproperty "Site" $Sites.Name $a | add-member Noteproperty "Subnet"

我试图组合两个变量,每个变量包含一个值列表:

cls
    $Sites = Get-ADReplicationSite -Filter *
    $Subnets = Get-ADReplicationSubnet -Filter * 

    $a = New-Object PSObject
      $a | add-member Noteproperty "Site" $Sites.Name
      $a | add-member Noteproperty "Subnet" $Subnets.Name
    $a | format-table
我的输出如下所示:

Site                                     Subnet                                 
----                                     ------                                 
{Default-First-Site-Name, SITE1, SI... {10.0.0.0/24, 20.0.0.0/24, 30.0.0.0/...

由于上面没有一个清晰的表格,我想知道我哪里做错了。我最好将这两个变量组合成一个.csv文件。但是,我不确定如何在将每个列表输送到
Export CSV
cmdlet之前为其提供一个标题

假设站点数等于子网数,请尝试以下操作:

$sites | Foreach {$i=0}{new-object pscustomobject -prop @{Site=$_;Subnet=$subnets[$i]}; $i++} | Format-Table

假设站点数等于子网数,请尝试以下操作:

$sites | Foreach {$i=0}{new-object pscustomobject -prop @{Site=$_;Subnet=$subnets[$i]}; $i++} | Format-Table

运行此命令时,我会遇到以下错误:在哈希文本中键入后缺少“=”运算符。我会尝试自己修复它,但我真的不明白它的工作方式,所以是的。再试一次。它在哈希表上缺少一个结尾}。好吧,这很好用。您能解释一下这是如何工作的以及为什么工作的吗?您可以使用
新对象pscustomobject-Propert@{..hashtable..}
更轻松地创建自定义PowerShell对象。
foreach
命令可能需要三个脚本块。当有多个脚本块时,第一个是
begin
scriptblock。它在管道启动时发生一次。用于将索引变量
$i
设置为0。下一个脚本块对管道中的每个对象执行一次。我们创建自定义对象并增加索引变量。酷!不知道foreach占用了多个脚本块。使代码更加清晰。干杯。当运行此命令时,我得到以下错误:在输入哈希文本后缺少“=”运算符。我会尝试自己修复它,但我真的不明白它的工作方式,所以是的。再试一次。它在哈希表上缺少一个结尾}。好吧,这很好用。您能解释一下这是如何工作的以及为什么工作的吗?您可以使用
新对象pscustomobject-Propert@{..hashtable..}
更轻松地创建自定义PowerShell对象。
foreach
命令可能需要三个脚本块。当有多个脚本块时,第一个是
begin
scriptblock。它在管道启动时发生一次。用于将索引变量
$i
设置为0。下一个脚本块对管道中的每个对象执行一次。我们创建自定义对象并增加索引变量。酷!不知道foreach占用了多个脚本块。使代码更加清晰。干杯