使用Powershell从CSV输入创建自定义安装字符串

使用Powershell从CSV输入创建自定义安装字符串,powershell,import-csv,Powershell,Import Csv,我主要是希望被指向正确的方向,这样我就能自己把它拼凑起来。我有相当多的批处理文件脚本编写经验。我是PS noob,但我认为PS对于下面的项目会更好 我们有一个软件,它要求客户端ID是安装字符串的一部分(以及交换机、usr/pass、其他交换机、日志路径等) 我已经创建了一个批处理文件(实际上有数百个),我在远程机器上使用PSEXEC执行该批处理文件,该批处理文件确实可以工作,但维护起来很困难。每个中唯一的更改是客户端ID 我试图做的是用两列作为输入的CSV(所以我只需要维护CSV):机器名(由%

我主要是希望被指向正确的方向,这样我就能自己把它拼凑起来。我有相当多的批处理文件脚本编写经验。我是PS noob,但我认为PS对于下面的项目会更好

我们有一个软件,它要求客户端ID是安装字符串的一部分(以及交换机、usr/pass、其他交换机、日志路径等)

我已经创建了一个批处理文件(实际上有数百个),我在远程机器上使用
PSEXEC
执行该批处理文件,该批处理文件确实可以工作,但维护起来很困难。每个中唯一的更改是客户端ID

我试图做的是用两列作为输入的CSV(所以我只需要维护CSV):机器名(由
%hostname%
表示)和客户端ID。我想创建一个脚本,将
%hostname%
与第1列中的对应行匹配,读取同一行第2列中的数据,然后可以在安装字符串中将其作为变量调用

例如。 如果我的CSV在第1列第6行中有
bobs pc
,则在以下安装字符串中插入第2列第6行(我们称之为0006)中的数据:

install.exe /client_ID=0006
禁止循环 我不希望它同时安装在所有机器上,因为我们在多个时区运行

像这样的东西对我的很多项目都非常有用,所以我对学习比让别人为我写更感兴趣


我知道我应该使用
导入Csv
。我已经创建了一个示例csv,并且可以获得某些字段以PS打印。我需要的是脚本能够将这些字段作为变量插入安装字符串中。

听起来像是您希望这样(假设您的csv的标题行为col1和col2):

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

Install.exe /client_id=$value