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

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

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

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

Q&A

解決済

1回答

1928閲覧

powershellでスクリプトを実行する変数の引数として変数を渡したい

sc0716

総合スコア1

PowerShell

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

0グッド

0クリップ

投稿2021/06/02 06:32

powershellにて以下を試みているのですが、③で失敗してしまいます。

①ホスト名とIPが記載されているjsonファイルを読みむ
②読み込んだ値を変数に入れる
③スクリプトファイルを実行する変数の、スクリプトファイルの引数として値を渡す
④③にて作成した変数を、更に別の変数で使用する

#①ホスト名とIPが記載されているjsonファイルを読みむ #CorrespondenceTable.json { "Host1": { "IP": "x.x.x.x", "Hostname": "Host1" }, "Host2": { "IP": "y.y.y.y", "Hostname": "Host2" }, }
#②読み込んだ値を変数に入れる $data = Get-content -Path "C:\CorrespondenceTable.json" | ConvertFrom-Json #変換後の確認 echo $data.Host1.IP  →x.x.x.x echo $data.Host1.Hostname  →Host1 echo $data.Host2.IP  →y.y.y.y echo $data.Host2.Hostname  →Host2
#③スクリプトファイルを実行する変数の、スクリプトファイルの引数として値を渡す $1 = "hoge.ps1 $data.Host1.Hostname $data.Host1.IP $data.Host2.Hostname $data.Host2.IP" #echoで確認すると、以下のようになってしまう。 echo $1 → hoge.ps1 @{Host1=; Host2=;};Host1.Hostname @{Host1=; Host2=;};Host1.IP @{Host1=; Host2=;};$data.Host2.Hostname @{Host1=; Host2=;}; $data.Host2.IP" #変数を{}で囲ってみる $1 = "hoge.ps1 ${data.Host1.Hostname} ${data.Host1.IP} ${data.Host2.Hostname} ${data.Host2.IP} #echoで確認すると、引数部分が消えてしまっている。 echo $1 → hoge.ps1

③にて、echoで確認した際に以下のように返ってくると想定しておりました。
hoge.ps1 Host1 x.x.x.x Host2 y.y.y.y
想定していた形のように変数を引数として渡すには、どのように記述をすれば良いでしょうか?

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

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

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

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

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

gentaro

2021/06/02 06:41

試してないんで回答にはしないけど最終的に欲しいのが文字列なら、 1.引数部分を文字列として空白区切りで連結する 2.スクリプトファイル名と1を空白区切りで連結する というステップを踏むだけだと思うんで、シンプルにやってみりゃ良さそうだけど。 文字列の連結方法はググればいくらでも出てくるし、一気にやるんじゃなくて要素を分解して確認しながら作ればどこがマズいのかはすぐわかるんじゃない。
guest

回答1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問