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

BWo*_*ood 2 powershell import-csv

我大多只是想指向正确的方向,所以我可以自己把它拼凑起来.我有相当数量的批处理文件脚本编制经验.我是PS菜鸟,但我认为PS对于下面的项目会更好.

我们有软件需要客户端ID作为安装字符串的一部分(以及交换机,usr/pass,其他交换机,日志记录路径等).

我已经创建了一个批处理文件(实际上有数百个),我PSEXEC在远程计算机上执行这个文件,但它很有用,但维护起来却很糟糕.每个中唯一的变化是客户端ID.

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

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

install.exe /client_ID=0006
Run Code Online (Sandbox Code Playgroud)

没有循环 由于我们运行的多个时区,我不希望它同时安装在所有机器上.

这样的事情对于我所拥有的许多项目都非常有用,所以我对学习更感兴趣,而不是让任何人为我编写.

我明白我应该用Import-Csv.我已经创建了一个示例csv,可以在PS中打印出某些字段.我需要的是脚本能够将这些字段作为变量插入安装字符串中.

Mar*_*agg 5

听起来你想要的东西,(假设你的CSV有一个col1和col2的标题行):

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

Install.exe /client_id=$value
Run Code Online (Sandbox Code Playgroud)