値を 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
問題は、行の 1 つにダッシュ (ホスト プリセット) が含まれていることです。もちろん、単純にアンダースコアに変更しますが、CSV ではこの値をダッシュにする必要があります。作成後に csv 全体で -replace を実行することもできますが、それは汚いようです。ここでダッシュを使用する方法はありますか?
私のエラーメッセージは次のとおりです。
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