2012-01-18 8 views
1

「に必要」:新オブジェクトがダッシュ含めることはできません( - )のが、私はCSVへのエクスポート値のための新しいオブジェクトを作成してい

New-Object -TypeName PSObject -Property @{ 
      host_name = ($server.name).ToLower() 
      address = $IPAddress 
      host_is_collector = "no" 
      host-preset = "windows-server" 
     } | Select-Object host_name,address,host-preset | Export-Csv -Path $nConf_import_host_file 

問題はラインの一つは、ダッシュ(ホストが含まれていることです-プリセット)。私はちょうどそれをアンダースコアに変更するだけですが、CSVはこの値をダッシュ​​にする必要があります。私はまた、作成された後にcsv全体で-replaceを実行することもできますが、それは汚れているようです。 ここでダッシュを使う方法はありますか?

マイエラーmsgがある:

Missing '=' operator after key in hash literal. 
At Z:\Scripts\Testscripts\ScanServers_and_check_nagiosV7.ps1:336 char:16 
+     host-preset <<<< = "windows-server" 
    + CategoryInfo   : ParserError: (:) [], ParseException 
    + FullyQualifiedErrorId : MissingEqualsInHashLiteral 
あなたは単に引用符でそれを囲む ことにより、文字列としてhost-presetプロパティ名を処理する必要があり

答えて

7

New-Object -TypeName PSObject -Property @{ "host-preset" = "windows-server" } 
+0

@Sune問題ありません:) –

関連する問題