質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.40%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

1回答

168閲覧

PowerShellで読み込んだcsvを元に処理を実行し、結果を追記したファイルを作成

NK.P0009

総合スコア13

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

1グッド

0クリップ

投稿2024/07/25 00:41

実現したいこと

PowerShellでcsvのリストを元に機器死活監視を行い、元csvに列を追加して結果を追記したファイル作成

発生している問題・分からないこと

大筋は完成しているのですが、結果を列に反映させる所で躓いています。

具体的には、「リストファイルを元に処理を実行し、列を追加し結果を追記」
までは出来ているのですが
追加した列の各セルにコマンド結果全てが挿入されてしまっている状態です。
(一つのセルにTrue True False Trueといった形)

■csvファイルの参考
|name|IP|
|ホスト名|address|
|ホスト名|address|

該当のソースコード

PowerShell

1$IPlist = "path\list_IP.csv" 2 3$sort_IP = Import-Csv $IPlist -Encoding UTF8 | Select-Object -ExpandProperty "IP" 4 5$Ping_result = Test-Connection -ComputerName $sort_IP -Count 1 -Quiet 6 7Import-Csv $IPlist | Select-Object *, @{n='ping';e={$Ping_result}} | 8 Export-Csv -Path "path\output.csv" -NoTypeInformation

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

#$check = if ($Ping_result) {"True"} else {"False"}

6行目に上記を追加して
読み込むファイルに存在しないIPを一つ目に記載し、二つ目以降を存在するIPでコマンドを実行すると
今度は結果は一つのみですが全てfalseになり、一つ目の結果が
他全ての機器にも反映されてしまい躓いています。

補足

PSVersion 5.1.19041.4522

melian👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ping の結果を配列に入れておくのではなく、計算プロパティ(calculated property)内で ping を実行する様にします。

powershell

1$IPlist = "path\list_IP.csv" 2Import-Csv $IPlist -Encoding UTF8 | 3 Select-Object *, @{n='ping';e={Test-Connection -ComputerName $_.IP -Count 1 -Quiet}} | 4 Export-Csv -Path "path\output.csv" -NoTypeInformation

投稿2024/07/25 01:58

melian

総合スコア20255

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NK.P0009

2024/07/25 02:12

melian様、ご回答いただきましてありがとうございます。 非常に助かりました。 ご教授いただいた知識をより応用的に扱えるように精進させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.40%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問