2017-03-27 3 views
2

ほとんどの場合、正しい方向を指しているように見えます。私は、バッチファイルのスクリプティングの経験がまともです。私はPSのnoobですが、PSは下のプロジェクトではより良いと思います。Powershellを使用してCSV入力からカスタムインストール文字列を作成する

私たちには、クライアントIDがインストール文字列(スイッチ、usr/pass、その他のスイッチ、ロギングパスなど)の一部であることが必要なソフトウェアがあります。

リモートマシン上でPSEXECと実行するバッチファイル(実際には数百件)を作成しましたが、それは維持管理が難しいです。それぞれの唯一の変更はクライアントIDです。

私がしようとしているのは、入力として2列のCSVを持つことです(CSVを維持するだけです):マシン名(%hostname%)&クライアントID。 %hostname%と列1の対応する行を一致させるスクリプトを作成し、同じ行の列2のデータを読み取り、インストール文字列の変数として呼び出すことができるようにしたいと考えています。

E.G. 私のCSVは、文字列をインストールするには、次の中(のは0006それを呼びましょう)列2、行6からデータを挿入、列1、行6でbobs-pcを持っていない場合:

install.exe /client_ID=0006 

何のループ Iドン」

このようなものは、私が持っている多くのプロジェクトでは本当に便利なので、誰かが私のために書いているよりも学習にもっと興味があります。 。

私はImport-Csvを使用しているはずです。私はサンプルcsvを作成し、特定のフィールドを取得してPSで印刷することができます。私が必要とするのは、スクリプトがこれらのフィールドをインストール文字列の変数として挿入できるようにすることです。あなたはこの線に沿って何かをしたいよう

答えて

5

は(あなたのCSVは、col1とcol2にのヘッダ行を持っていると仮定し)、サウンド:

$hostname = 'server1' 
$value = Import-CSV myfile.csv | where { $_.col1 -eq $hostname } | select -expandproperty col2 

Install.exe /client_id=$value 
+0

@BWoodこれが受け入れられたとして、あなたが答えをマークしてください助けた場合。 –

関連する問題