迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 PowerShell 中 Ping 主机名列表和输出结果到 CSV

作者:迹忆客 最近更新:2024/03/01 浏览次数:

Ping 设备或主机名是 PowerShell 中可用的基本功能。你可以使用 Test-ConnectionTest-NetConnection cmdlet 发送回显请求并测试 ping 连接。

这对网络管理员非常有用。本教程将教你 ping 主机名列表并将结果输出到 PowerShell 中的 CSV。


使用 Test-Connection Ping 主机名列表并将结果输出到 PowerShell 中的 CSV

Test-Connection cmdlet 向一台或多台远程计算机发送 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping,并返回回显响应回复。你可以轻松确定是否可以通过 IP 网络访问特定计算机。

在这里,我们在文件 test.txt 中有一个主机名列表。

Get-Content test.txt

输出:

www.google.com
www.delftstack.com

以下脚本 ping 文件 test.txt 中的主机名列表并将结果输出到 result.csv 文件。

$testOutput= @()
$testnames = Get-Content "test.txt"
foreach ($name in $testnames){
  if (Test-Connection -ComputerName $name -Count 1 -ErrorAction SilentlyContinue){
   $testOutput+= "$name,Up"
   Write-Host "$Name,Up"
  }
  else{
    $testOutput+= "$name,Down"
    Write-Host "$Name,Down"
  }
}
$testOutput | Out-File "result.csv"

在上面的 PowerShell 脚本中,Get-Content cmdlet 用于获取 test.txt 文件中的主机名列表,并使用 ForEach 循环遍历每个主机名。

Test-Connection cmdlet ping 列表中的每个主机名。如果 ping 状态为 true,则主机名存储在 $testOutput 变量中作为 Up;它将主机名作为 Down 存储在 $testOutput 变量中。

$testOutput 变量通过管道传送到 Out-File cmdlet,后者将输出发送到文件 result.csv。文件中的内容与终端中显示的内容相同。

输出:

www.google.com,Up
www.delftstack.com,Down

我们希望本文能帮助你了解如何 ping 主机名列表并将结果输出到 .csv 文件。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Windows PowerShell 中终止脚本

发布时间:2024/02/29 浏览次数:121 分类:编程语言

本文将列举几种在 Windows PowerShell 中终止脚本的方法。本文将解释和定义所有几个命令,并引用示例脚本块来说明在何处使用它们。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便