12
votes

PowerShell "rejoindre"

Appelle-moi stupide, mais je perds mes cheveux avec celui-ci.

J'ai deux résultats d'un get-WmiObject: p>

( 
  ($cpu | Select-Object Name, Description) + 
  ($mb | Select-Object Manufacturer, Product) 
) | ConvertTo-Csv -NoTypeInformation


0 commentaires

7 Réponses :


0
votes

Vous pouvez toujours ajouter toutes les propriétés dont vous avez besoin pour un objet personnalisé PowerShell qui a ce dont vous avez besoin, puis de vider les CV. Jetez un coup d'œil à cette page et voyez si elle suites ce dont vous avez besoin.


1 commentaires

Il y a, dans PowerShell 2, voir l'exemple de @dangph



1
votes

Que diriez-vous comme ça? XXX


2 commentaires

Presque! Cela rend effectivement quatre colonnes, mais dans deux lignes . Chaque ligne contenant deux valeurs et deux nuls. Maintenant, si nous pouvions faire une sorte d'union "...


Il y a -Join "A", "B" , j'essaie de comprendre comment l'utiliser.



12
votes

Vous avez besoin de PowerShell V2 pour ce qui suit.

$cpu = Get-WmiObject -Class Win32_Processor 
$mb = Get-WmiObject -Class Win32_BaseBoard
$props = @{            
    Name          = $cpu.Name
    Description   = $cpu.Description
    Manufacturer  = $mb.Manufacturer
    Product       = $mb.Product
    }
New-Object PSObject -Property $props | ConvertTo-Csv -NoTypeInformation


2 commentaires

Bien que cela fonctionne parfaitement pour la question des OPS, ceux qui arrivent ici à la recherche d'une jonction de plusieurs rangées de données devront poursuivre une stratégie alternative.


@Kylemit, Select-Object avec des propriétés calculées peut vous être utile.



0
votes

Vous pouvez commencer par un objet, puis ajouter des propriétés de l'autre: xxx


0 commentaires

0
votes

Est-ce ce que vous recherchez? Un peu plus longtemps que je m'attendais, car la CPU $ et MB $ ont des propriétés de nom et de fabricant. Mais la première idée est l'objet personnalisé par hasard.

($cpu | Select-Object Name, Description),($mb | Select-Object Manufacturer, Product) | 
       Select-Object @{name='NameOrManu';expr={$_.Name + $_.Manufacturer}},  
                     @{name='DescrOrProd';expr={$_.Description + $_.Product}} | 
       ConvertTo-Csv -NoTypeInformation


0 commentaires

5
votes

Il y a un join-objet code> fonction sur poshcode pour le faire, mais il est enterré Intérieur Rejoindre-Collection Code> et non exporté.

$cpu = Get-WmiObject -Class Win32_Processor 
$mb = Get-WmiObject -Class Win32_BaseBoard

Join-Object $cpu $mb  | Select Name, Description, Manufacturer, Product


0 commentaires

0
votes

the join-objet , décrit dans Dans PowerShell, quelle est la meilleure façon de rejoindre deux tables en une fois? a beaucoup plus de capacités, mais peut également être utilisé comme ceci: < Pré> xxx


0 commentaires