2013-09-25 2 views
1

Je suis en train de combiner deux variables contenant chacune une liste de valeurs:Combinant variables dans une table

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 

Ma sortie ressemble à ceci:

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

Comme ci-dessus ne donne pas lieu à un table claire Je me demande où je me suis trompé. De préférence, je combinerais ces deux variables dans un fichier .csv. Cependant, je ne suis pas sûr de la façon dont je donnerais un en-tête à chaque liste avant de la rediriger vers la cmdlet Export-CSV.

Répondre

1

En supposant que le nombre de sites est égal au nombre de sous-réseaux, essayez ceci:

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

Lorsque vous exécutez ce que je reçois l'erreur suivante: manquant « = » opérateur après clé de hachage littérale. J'essaierais de le réparer moi-même mais je ne comprends pas vraiment comment ça fonctionne, alors oui. –

+0

Réessayez. Il manquait une fermeture sur la hashtable. –

+0

Très bien, cela fonctionne parfaitement. Pourriez-vous s'il vous plaît expliquer comment et pourquoi cela fonctionne? –