gpt4 book ai didi

powershell - 将所有输出写入文件

转载 作者:行者123 更新时间:2023-12-03 00:51:58 25 4
gpt4 key购买 nike

我使用以下代码来获取具有 IP 地址的计算机列表。它打印出主机名和 IP 地址。如果主机脱机,则会显示“$computername 脱机”。这是代码:

$csv = Get-Content TEST_MACHINES.csv

foreach ($computer in $csv)
{
try
{
Test-Connection $computer -Count 1 -ErrorAction Stop | Select Address, IPV4Address
}
catch
{
"$computer is offline"
}
}

它工作得很好并且输出数据如下:

地址IPV4地址

--------------------

测试机192.168.1.1

测试机2 192.168.1.2

TESTMACHINE3 已离线。

但是,没有多少技巧可以让我将所有这些写入文件,即使它在控制台中显示为这样。它写入空白文件或仅写入异常。

如何准确捕获此输出?

最佳答案

您可以使用与您选择的测试连接字段相同的字段名称创建自定义 powershell 对象,然后将成功和失败导出到 CSV。请参阅下面的示例:

$csv = Get-Content TEST_MACHINES.csv

foreach ($computer in $csv)
{
try
{
Test-Connection $computer -Count 1 -ErrorAction Stop | Select Address, IPV4Address | Export-Csv -Path .\ConnectionTest.csv -Append
}
catch
{
$Output = New-Object PSObject -Property @{
Address = $computer
IPV4Address = "Offline"
}

$Output | Export-Csv -Path .\ConnectionTest.csv -Append
}
}

关于powershell - 将所有输出写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22696979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com