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

标签 powershell import-csv

我主要只是希望有人指出正确的方向,这样我就可以自己拼凑起来。我有相当多的批处理文件脚本编写经验。我是 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/

相关文章:

ruby-on-rails - Rails CSV 导入 first_or_create

mysql - 将 CSV 数据导入 mySQL 数据库中的表中

android - Openssl 结果在 Windows 的 cmd 和 power shell 中不匹配

powershell - 如何在 Visual Studio 解决方案中创建可重用的 PowerShell 函数

sharepoint - 用于帮助台的 Powershell 脚本的 Web 前端

arrays - 从CSV加载两个数组

powershell - 如何从powershell中的哈希表数组中获取唯一值?

.net - 从 Powershell 构建 MSI 包

python - 来自 import-csv 的 Powershell ConvertTo-Json 性能不佳

arrays - 数组第一个元素