• ベストアンサー

PowerShellでCSVを文字列に組立る方法

以下の内容のCSVファイルから「CN=test,OU=test_ou,DC=test,DC=domain」の結果を最小限のPowerShellで得るにはどのようにすればよろしいでしょうか? Name,OU,Domain test,test_ou,test.domain いろいろ試してみたのですが、きれいにこの形にできませんでした。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.2

いやすみません、私よりもよっぽど上級ではないですか! ちゃんと動いてるようですが、どの辺が気に入らないのでしょう…。 ただDomain分割部で謎の空白が出るので、私の考えを入れると Import-Csv .\test.csv | %{"CN=" + $_.Name + ",OU=" + $_.OU + ",DC=" + ($_.Domain -replace "\.",",DC=")} こうすれば、まあ空白は消えますが、",DC=" を2つ書いたりして美しくないです。

inshin
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.1

どのようなスクリプトを書きましたか? とりあえず考えただけですが (1)カンマで区切られた第一項目をCN=に、第二項目をOU=に、第三項目をDC=に置換 (2)ドットをすべて",DC="に置換 この2段階でできそうに思います。 ただし、第三項目以外にドットは無いのが条件です。 あるようならもう少し考えますが。

inshin
質問者

お礼

ご回答いただきまして、ありがとうございます。 試した内容は以下の通りです。 Import-Csv .\test.csv | %{"CN=" + $_.Name + ",OU=" + $_.OU + ($_.Domain.Split(".") | %{",DC=$_"})} よろしくお願いいたします。