|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - nslookup и список адресов |
|
|
CMD/BAT - nslookup и список адресов
|
Новый участник Сообщения: 6 |
Профиль | Отправить PM | Цитировать
Доброго времени форумчане, столкнулся с задачей не подвластной мне, был бы признателен в помощи.
имеется текстовый файл source.csv с информацией типа: "ip адрес ресурса #1","дата и время доступа к нему" "ip адрес ресурса #2","дата и время доступа к нему" ...... Требуется с помощью nslookup сопоставить ip c именем домена и получить файл типа: "доменное имя","ip адрес ресурса #1","дата и время доступа к нему" ....... если по каким то причинам nslookup не может сопоставить имя, то просто оставить поле пустым. p.s. Можно как батник, так и скрипт powershell. |
|
Отправлено: 09:15, 03-02-2014 |
Ветеран Сообщения: 1758
|
bill_open, PowerShell:
Дата фактическая: $csv = import-csv source.csv -header "ips", "datetime" $result = @() foreach ( $ip in $csv.ips ) { try { $hostname = [net.dns]::gethostbyaddress( $ip ).hostname } catch { $hostname = $null } $result += new-object psobject -property @{ hostname = $hostname ipaddress = $ip datetime = get-date -u "%x %T" }} $result | select hostname,ipaddress,datetime | export-csv result.csv $csv = import-csv source.csv -header "ips", "datetime" $result = @() for ( $i=0; $i -lt $csv.count; $i++ ) { try { $hostname = [net.dns]::gethostbyaddress( $csv.ips[$i] ).hostname } catch { $hostname = $null } $result += new-object psobject -property @{ ipaddress = $csv.ips[$i] datetime = $csv.datetime[$i] hostname = $hostname }} $result | select hostname,ipaddress,datetime | export-csv result.csv |
Последний раз редактировалось Foreigner, 03-02-2014 в 21:16. Отправлено: 19:39, 03-02-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Ошибка
Не удается индексировать в массив NULL. C:\Windows\system32\sc.ps1:11 знак:30 + ipaddress = $csv.ips[ <<<< $i] + CategoryInfo : InvalidOperation: (949:Int32) [], RuntimeException + FullyQualifiedErrorId : NullArray "213.111.111.111","2014-02-03 08:54:34" "5.9.6.6","2014-02-03 08:54:30" ........ содержимое ~30000строк |
Отправлено: 07:35, 04-02-2014 | #3 |
Ветеран Сообщения: 1758
|
Цитата bill_open:
|
|
Отправлено: 07:53, 04-02-2014 | #4 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать шапки нет. Уточняю, данную ошибку он выдает на каждой строке
|
|
Отправлено: 07:15, 05-02-2014 | #5 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать вот другой вариант source.csv, с шапкой.
srcIP,srcPort,destIP,destPort,logTime,devID,devName,duration,sentByte,rcvdByte,direction,protoID,proto,trans,category,msg,note,idpClazz,idpAct,severity,idpSid,idpCount,spamFirstReIP,ob,obMac,user "10.100.110.2","50296","213.180.193.3","80","2014-02-03 08:54:34","B0B2BCBB4B89","firewall","88","1382","556","[i=lan1:i=wan1:]","6","http","","Traffic Log","Traffic Log","Traffic Log","","","6","","0","","","","unknown" "10.100.110.33","50310","5.10.8.68","80","2014-02-03 08:54:30","B0B2BCBB4B89","firewall","70","1161","685","[i=lan1:i=wan2:]","6","http","","Traffic Log","Traffic Log","Traffic Log","","","6","","0","","","","unknown" ................ Не удается индексировать в массив NULL. C:\Windows\system32\sc.ps1:11 знак:30 + ipaddress = $csv.ips[ <<<< $i]; + CategoryInfo : InvalidOperation: (0:Int32) [], RuntimeException + FullyQualifiedErrorId : NullArray New-Object : Не удается проверить аргумент для параметра "Property". Аргумент пустой или имеет значение NULL. Укажите н е пустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды. C:\Windows\system32\sc.ps1:17 знак:45 + $result += new-object psobject -property <<<< $object + CategoryInfo : InvalidData: (:) [New-Object], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.NewObjectCommand |
Последний раз редактировалось bill_open, 05-02-2014 в 07:45. Причина: дописал Отправлено: 07:44, 05-02-2014 | #6 |
Ветеран Сообщения: 1758
|
Цитата bill_open:
Цитата:
$csv = @( import-csv source.csv ) $result = @() for ( $i=0; $i -lt $csv.count; $i++ ) { try { $hostname = [net.dns]::gethostbyaddress( $csv.destip[$i] ).hostname } catch { $hostname = $null } $result += new-object psobject -property @{ ipaddress = $csv.destip[$i]; datetime = $csv.logtime[$i]; hostname = $hostname }} $result | select hostname,ipaddress,datetime | export-csv result.csv |
|
Отправлено: 08:05, 05-02-2014 | #7 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать ну ни как(((
Не удается индексировать в массив NULL. C:\Windows\system32\sc.ps1:12 знак:33 + ipaddress = $csv.destip[ <<<< $i]; + CategoryInfo : InvalidOperation: (0:Int32) [], RuntimeException + FullyQualifiedErrorId : NullArray -> так же пробовал убрать все кавычки, ошибка осталась((( |
Отправлено: 14:44, 05-02-2014 | #8 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:02, 05-02-2014 | #9 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Import-Csv source.csv -Header IP,Date | Select @{n="Domain";e={try{[net.dns]::GetHostEntry($_.ip).HostName} catch {"NotFound"}}},IP,Date | Export-Csv result.csv -NoTypeInformation Цитата:
|
|
Отправлено: 10:16, 06-02-2014 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
V. 5.5/2000/2003 - Список всех адресов Exchange 2003 | morozov_s_v | Microsoft Exchange Server | 7 | 21-05-2011 00:53 | |
V. 2010 - [решено] Не работает белый список ip-адресов | VladDV | Microsoft Exchange Server | 2 | 07-10-2010 02:50 | |
Почта - список адресов | KpaH4iTo | Программное обеспечение Windows | 1 | 25-06-2009 17:23 | |
Интернет - [решено] Растолкуйте, pls, непонятку с разрешением IP адресов в XP (ping, nslookup) | MinimumLaw | Microsoft Windows 2000/XP | 5 | 24-10-2007 16:19 | |
Интернет - [решено] Как удалить список адресов из списка? | Kentuky | Microsoft Windows 2000/XP | 2 | 26-09-2007 22:29 |
|