2016-11-15 7 views
-1

Powershellを学ぶ際にこのサイトをたくさん使用します。これまでのところ大きな助けになった!私は、ワークステーションの名前を取るワークステーションのWMIからの説明と出力の両方に新しい.csvファイルに見つかったワークステーションの名前と説明を引っ張ってくるスクリプトを記述しようとしていますPowershellでコンテンツをCSVに出力する

は、ここに私の問題です。ここで

は、私がこれまで持っているものです。

Get-Content -Path "workstation_names.csv" | Select-Object Workstations | 
Foreach-Object { Get-WmiObject -Class Win32_OperatingSystem -ComputerName $workstations | Select Workstations, Description | Export-CSV -Path "results.csv" -NoTypeInformation } 

workstation_names.csvは、「ワークステーション」という名前の列があり、その下に各セルは、その中に、単一のワークステーション名を持っています。現在、私のスクリプトは2つの列を持つ出力ファイルを作成します。 1つは「ワークステーション」と呼ばれ、もう1つは「説明」と呼ばれます。ワークステーションの列は空であり、説明列には最初のワークステーション記述の結果しかありません(workstation_names.csvファイルに10個のワークステーション名が記載されています)。

私はPowershellの知識を使って頭を傷つけています。私はおそらく最初の.csvファイルから作成された配列で何かを必要としていることを知っていますが、私は必要なものをどのようにコード化するのかはわかりません。どんな助け?

答えて

0

いくつかの理由

  • のために失敗します4c74356b41のスクリプトは、それは-header -headersいない
  • % _の代わりにタイプミスがあり$_select Workstationsがそのように動作しません
  • がgwmi
  • のない財産をません

これはほんの少しだけ書き直されたスクリプトで行う必要があります。

$inFile = "workstation_names.csv" 
$results = @() 
Import-CSV -path $inFile -header Workstations | 
    % {$results += Get-WmiObject -Class Win32_OperatingSystem ` 
    -ComputerName $_.Workstations | Select PSComputerName, Description} 
$results | Export-Csv -Path "results.csv" -NoTypeInformation 

は、次のように出力

GWmi -Class Win32_OperatingSystem -ComputerName localhost|gm|out-gridview 
+0

ありがとう、私は彼がどのプロパティがあることを確認していたと思っていた:)と誤植のために申し訳ありません – 4c74356b41

+0

Yowza、私は道のりだった。これは、私が望んだのとまったく同じです。フィードバックをいただきありがとうございます。 – Ozar

1

おそらくこのような何かが、トリックを行う必要があります。

$inFile = "workstation_names.csv" 
$results = @() 
Import-CSV -path $inFile -header Workstations | 
    % {$results += Get-WmiObject -Class Win32_OperatingSystem ` 
    -ComputerName $_.Workstations | Select PSComputerName, Description} 
$results | Export-Csv -Path "results.csv" -NoTypeInformation 

だからこれについては詳しく説明し、あなたが本当にあなたが私ドンいるので、混乱して生のテキストファイルを、インポートされ、CSVのインポートされていませんがそのような場合に何があなたのために働くのか本当に分かりません。ここでスクリプトは、結果を保存し、ファイルをCSVとしてインポートし、貴重品をループして結果をCSVに出力する配列を作成します。

+0

なぜパイプを直接 '輸出Csv'への利用可能参照するプロパティを表示するには? (つまり 'ForEach-Object {...} | Export-Csv ...') –

+0

まあ、あなたはそれを行うことができると思います。 – 4c74356b41

関連する問題