У меня есть список хостов из моей локальной сети (более 1000), который был извлечен в формате Excel от предыдущего парня, который работал здесь до того, как начал свою работу. Мне нужно знать IP каждого хоста.Powershell получает IP-адреса от хостов программно
Мне нужен какой-то автоматический экстракт (я надеюсь, что должен быть более умный метод, чем для ping вручную всех хостов, чтобы получить IP-адрес). Я наткнулся на SO и прочитал this question. Использование PowerShell означает хороший шаг к автоматизации того, что мне нужно.
Однако, что я сложены, как автоматизировать эту команду (в PowerShell), чтобы использовать файл excel в качестве ввода (или текста) и предоставить выходной файл, содержащий соответствующие IP-адреса?
Обновление: код я имею в виду:
$servers = get-content "C:\scr\Servers.txt"
foreach ($Server in $Servers)
{
$Addresses = $null
try {
$Addresses = [System.Net.Dns]::GetHostAddresses("$Server").IPAddressToString
}
catch {
$Addresses = "Server IP cannot resolve."
}
foreach($Address in $addresses) {
write-host $Server, $Address
}
}
Файл Excel используется в качестве входных данных содержит построчно имен хостов в одной колонке. Этот файл Excel можно легко преобразовать в текстовый формат (это то, что я уже сделал к настоящему времени, в результате получив файл Servers.txt).
Проблема с этим кодом заключается в том, что он отображает вывод только в окне Powershell, без файла.
Какие данные о компьютерах содержатся в файле Excel? –
Можете ли вы дать образец своего собственного кода? SO не является службой написания сценария. Люди здесь, как правило, счастливы помочь, но требуются собственные усилия (поскольку мы здесь не для того, чтобы выполнять вашу оплачиваемую работу). Один совет: .NET class System.Net.Dns содержит несколько методов для разрешения имен хостов на IP-адреса. – bluuf
Должен ли я добавить что-то вроде> C: \ pathtooutput.txt где-нибудь в коде? Где? – Gab2020