我主要只是希望有人指出正确的方向,这样我就可以自己拼凑起来。我有相当多的批处理文件脚本编写经验。我是 PS 菜鸟,但我认为 PS 更适合下面的项目。
我们的软件要求客户端 ID 成为安装字符串的一部分(以及开关、usr/pass、其他开关、日志路径等)。
我创建了一个批处理文件(实际上有数百个),我在远程计算机上使用 PSEXEC 执行该文件,该文件确实有效,但维护起来很麻烦。其中唯一的变化是客户端 ID。
我试图做的是有一个包含 2 列的 CSV 作为输入(所以我只需要维护 CSV):机器名称(由 %hostname%
表示)和客户端 ID 。我想创建一个脚本,将 %hostname%
与第 1 列中的相应行匹配,读取同一行第 2 列中的数据,然后能够将其作为安装中的变量调用字符串。
E.G.
如果我的 CSV 在第 1 列第 6 行中有 bobs-pc
,则将第 2 列第 6 行中的数据(我们称之为 0006)插入以下安装字符串中:
install.exe /client_ID=0006
无循环 由于我们所处的多个时区,我不希望它同时安装在所有计算机上。
这样的东西对于我拥有的许多项目来说非常有用,所以我对学习比让任何人为我编写它更感兴趣。
我知道我应该使用Import-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
关于powershell - 使用 Powershell 从 CSV 输入创建自定义安装字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43056319/