【问题标题】:PowerShell Import-CSV Ping ScriptPowerShell 导入-CSV Ping 脚本
【发布时间】:2017-08-16 11:12:01
【问题描述】:

我有一个包含两列的 .csv 表(将来可能会添加更多)。 A 列是 PC 主机名列表,B 列是 A/B 列的文本名称列表(手动添加/更新),请参见下面的示例:

甲乙 PC1约翰 PC2 卢克 PC3 阿尔弗雷德 PC4 迪翁

我想做的是有一个 PS 脚本,它导入 .csv 并将列分隔为例如$ColumnA$ColumnB。我可以 ping $ColumnA 中的每个值并在同一行中添加 $ColumnB 作为文本,这样您就可以知道谁的 PC 是什么。手动设置 ColumnB 的原因是我们不会手动更新此字段,而是查询 WMI 等。

此外,最终一旦我完成这项工作,我想添加更多内容并添加带有 PC 位置的 ColumnC。此外,一旦我掌握了基本工作(并且我理解),我想在不久的将来使用$ColumnA 构建脚本并查询更多内容。

【问题讨论】:

  • 您的问题是什么?你的代码是什么样的?什么没有按预期工作?入门read this.

标签: powershell csv ping


【解决方案1】:

PowerShell 中的所有内容都是对象,因此,当您导入 csv 文件时,它将继承您的 CSV 标头。

在你的例子中:

$CSVvar = import-csv C:\yourCSVFile.csv -delimiter ' '

写入主机 $CSVvar.A :

PC1
PC2
PC3
PC4

写入主机 $CSVvar.B :

John
Luke
Alfred
Dion

写入主机 $CSVvar.B[1] :

Luke

所以,如果你想在 B 列的每一行测试你的连接:

for($i=0; $i -lt $CSVvar.length; $i++){

test-connection $CSVvar.B[$i]

}

小心你的分隔符,它只能是一个字符长度。

希望这会有所帮助。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 2021-01-04
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    相关资源
    最近更新 更多