gpt4 book ai didi

Powershell - 从文本列表中获取服务器名称和 IP

转载 作者:行者123 更新时间:2023-12-04 13:59:32 24 4
gpt4 key购买 nike

我正在使用此链接中提供的以下建议:
Experts-Exchange

我正在尝试获取服务器(主机名)列表并将主机名和 IP 地址保存在 .csv 文件中。

使用以下 Powershell 代码,我确实在结果 Pane 中看到了每个服务器的主机名和相同的 IP 地址。

$servers = get-content "C:\TEMP\servers.txt"
$serversAndIps = "C:\TEMP\List_of_servers_with_ips.csv"


$results =@()
foreach ($server in $servers) {
$results =@()
$result = "" | Select ServerName , ipaddress
$result.ipaddress = [System.Net.Dns]::GetHostAddresses($server)
foreach($a in $addresses) {
"{0},{1}" -f $server, $a.IPAddressToString
}
$result.servername = $server
$results += $result
}
$results | export-csv -NoTypeInformation $serversandips

当我打开 .csv 文件时,我得到了这个:
"ServerName","ipaddress"
"Server_name_1","System.Net.IPAddress[]"

如果我运行这个 PowerShell 脚本,我可以在结果 Pane 中获得主机名和正确的 IP 地址。我只需要知道如何将结果传输到 .csv 文件。
$servers = get-content "C:\TEMP\servers.txt"
foreach ($server in $servers) {
$addresses = [System.Net.Dns]::GetHostAddresses($server)
foreach($a in $addresses) {
"{0},{1}" -f $server, $a.IPAddressToString
}
}

有什么建议?

最佳答案

看起来像一些简单的拼写错误。

  • $result 在循环内被重置
  • 未分配循环内的 $addresses。
  • $result.ipaddress 未分配给 $a.IPAddressToString 用于输出对象。

  • 尝试这个:
    $servers = get-content "X:\servers.txt"
    $serversAndIps ="X:\test.csv"

    $results = @()
    foreach ($server in $servers)
    {
    $result = "" | Select ServerName , ipaddress
    $result.ipaddress = [System.Net.Dns]::GetHostAddresses($server)
    $addresses = [System.Net.Dns]::GetHostAddresses($server)

    foreach($a in $addresses)
    {
    "{0},{1}" -f $server, $a.IPAddressToString
    $result.ipaddress = [System.Net.Dns]::GetHostAddresses($server)
    }

    $result.servername = $server
    $result.ipaddress = $a.IPAddressToString
    $results += $result
    }

    $results | export-csv -NoTypeInformation $serversandips

    关于Powershell - 从文本列表中获取服务器名称和 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29853399/

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