2013-02-25 2 views
1

У меня есть php-скрипт на веб-сервере, который отображает (как обычный текст, без форматирования html). Dhcp оставляет информацию. Выход в следующем формате, разделенным запятыми:powershell invoke-webrequest текстовый файл

dnsname,leavetime,macaddress,ipaddress 

я хочу, чтобы иметь возможность анализировать эту информацию с помощью команды Invoke-WebRequest и PowerShell просто получить адрес MAC.

Я попытался следующий код:

invoke-webrequest "http://www.xxx.xxx" 

Вывод на консоль:

StatusCode  : 200 
StatusDescription : OK 
Content   : *hostname*,in 7 days ,**Mac Address**,*ip address* 

RawContent  : HTTP/1.1 200 OK 
       Keep-Alive: timeout=2, max=100 
       Connection: Keep-Alive 
       Content-Length: 50 
       Content-Type: text/plain; charset=ISO-8859-1 
       Date: Mon, 25 Feb 2013 12:04:33 GMT 
       Server: Apache 

       ega008... 
Forms    : 
Headers   : {[Keep-Alive, timeout=2, max=100], [Connection, Keep-Alive],  [Content-Length, 50], [Content-Type, 
       text/plain; charset=ISO-8859-1]...} 
Images   : {} 
InputFields  : {} 
Links    : {} 
ParsedHtml  : 
RawContentLength : 50 

Вместо всего этого, все, что я хочу, это МАС-адрес (выделен жирным шрифтом)

Любая помощь очень ценится.

спасибо.

+0

, пожалуйста, напишите, что вы пробовали, и что вы получите – CharlesB

+0

, обновленный тем, что я пробовал. –

ответ

0

Если у вас есть загруженный контент, доступный в виде строки (возможно, с WebClient как это было предложено CharlesB), вы можете разделить его на словаре ключ/значение пар со следующим:

[email protected]{} 
$webpage.split("`n") |% { $record=$_.split(":"); if($record[1]) { $data[$record[0].trim()]=$record[1].trim() }} 

, то вы можете получить значение «содержания» -LINE раскола в массив, с:

$content = $data["Content"].split(",") 
# 
# retrieve the mac with: 
$content[2] 
Смежные вопросы