Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - вытянуть информацию из html полученного через curl

Ответить
Настройки темы
PowerShell - вытянуть информацию из html полученного через curl

Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: Griboed0ff
Дата: 17-09-2021
Доброго всем времени суток. Есть задача, которую надо решить именно через bat. Через curl скачивается страничка и из нее нужно извлечь нужную информацию, на скрине отмечено, что нужно вытянуть мак-адрес, номер телефона, модель и серийный номер. На данный момент батник уже может: узнает какая подсеть на компе, потом сканит диапазон из этой подсети, потом curl скачивает странички с айпишки с данными. А вот далее нужно, чтобы батник мог как-то вытянуть данные со странички и плюс как-то мог сам подставить все странички, которые есть в папке.

Отправлено: 08:26, 16-04-2020

 

Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
Вот, скрипт на его основе: »
Скрытый текст
Код: Выделить весь код
PS D:\Users\S> param (
	#[parameter(Mandatory=$true)]
	[string]$outfile = 'table_phtml.csv',
	$encode = 65001,
	[int[]]$SelectTable = 1
)

#---Эту секцию можно удалить после однократного запуска скрипта от имени админа ------------------
# Установка дополнительного модуля PowerHTML, для независимого парсинга HTML
# Может потребоваться ручное подтверждение установки. 
if (!(get-module -list powerhtml)) {
	write-verbose Installing PowerHTML module for the current user...
	install-module powerhtml #-scope currentuser
}
#-----------------------------------------------------------------------------------------

function convert ($from, $to){
	begin{
		$fenc = [text.encoding]getencoding($from)
		$tenc = [text.encoding]getencoding($to)
	}
	process{
		$a = $tenc.getbytes($_)
		$fenc.getstring($a)
	}
}
[net.servicepointmanager]securityprotocol = 'ssl3,tls,tls11,tls12'
[array]$arr = $((Get-Netipaddress |? ipaddress -match "^10\.").ipaddress -replace "\d+$")
$ips = 130..190 |%{$n=$_;$arr|%{"$_"+$n}}|sort|?{test-connection $_ -count 1 -q}

$ips%{
	$a = (iwr $_).content
	$content = if ($a -match [char]208){
		$aconvert $encode 28591
	} else {$a}
	
	$html = [net.webutility]htmldecode($content)convertfrom-html
	[array]$tables = $html.selectnodes('table')
	# Исключение вложенных таблиц
	$tables = $tables{$_.innerhtml -notmatch 'table'}
	
	if ([string]isnullorempty($selecttable)){
		$number = 0..($tables.count-1)
	} else {$number = $selecttable}
	
	$tbl = $tables[$number]%{$n=0}{
		$tr = if($_.element('tbody')){
			$_.element('tbody').elements('tr')
		} else {$_.elements('tr')}
		$headers = @()
		if($headers = $tr{$_.element('th') -ne $null}
		%{$_.elements('th')}select -exp innertext){
			$headers=$headers.trim()
		} else {
			$headers = 1..(
				[linq.parallelenumerable]max(
					[linq.parallelenumerable]asparallel(($tr
					%{($_.elements('td') innertext -ne ''%{$_}).count}))
				)
			)%{H$_}
		}
		$rowind = ,1  $headers.count
		$tr{$_.elements('td') -ne $null}%{
			$row = $_.elements('td') innertext -ne ''%{
				$attr = $_.attributes
				if ($attr){
					$rowspan = ($attr name -eq 'rowspan'select value).value
					$colspan = ($attr name -eq 'colspan'select value).value
				}
				[pscustomobject]@{
					'InnerText' = $_.innertext
					'RowSpan' = if($rowspan){[int]$rowspan} else {1}
					'ColSpan' = if($colspan){[int]$colspan} else {1}
				}
			}
			$str = [ordered]@{}
			$k=0
			foreach ($item in $row){
				if ($rowind[$k] -gt 1){
					while ($rowind[$k] -gt 1){
						$str[$headers[$k]] = $null
						$rowind[$k] -= 1
						$k++
					}
				}
				if (($colspan = $item.colspan) -gt 1) {
					$str[$headers[$k]] = if($item.innertext){
						$item.innertext.trim()
					} else {$null}
					if ($item.rowspan -gt 1){$rowind[$k] = $item.rowspan}
					$k++
					while ($colspan -gt 1){
						$str[$headers[$k]] = $null
						$colspan -=1
						if ($rowind[$k] -gt 1){$rowind[$k]-=1}
						$k++
					}
				} else {
					$str[$headers[$k]] = if($item.innertext){
						$item.innertext.trim()
					} else {$null}
					if ($item.rowspan -gt 1){$rowind[$k] = $item.rowspan}
					$k++
				}
			}
			[pscustomobject]$str
		}
	}
	[pscustomobject]@{
		'IP'				= $_
		'MAC-адрес' 		= $tbl[([array]indexof($tbl.h1,'MAC-адрес'))].h2
		'Номер телефона'	= if ([array]indexof($tbl.h1,'Номер телефона') -ne -1){
								$tbl[([array]indexof($tbl.h1,'Номер телефона'))].h2
							  } else {
							  	$tbl[([array]indexof($tbl.h1,'Номер телефона 1'))].h2
							  }
		'Серийный номер'	= $tbl[([array]indexof($tbl.h1,'Серийный номер'))].h2
		'Номер модели'		= $tbl[([array]indexof($tbl.h1,'Номер модели'))].h2
	}
} export-csv D:\Users\S\Downloads\1\1.csv -notype -enc utf8 -d ';'
строка:19 знак:26
+         $fenc = [text.encoding]getencoding($from)
+                                ~~~~~~~~~~~
Непредвиденная лексема "getencoding" в выражении или операторе.
строка:20 знак:26
+         $tenc = [text.encoding]getencoding($to)
+                                ~~~~~~~~~~~
Непредвиденная лексема "getencoding" в выражении или операторе.
строка:27 знак:26
+ [net.servicepointmanager]securityprotocol = 'ssl3,tls,tls11,tls12'
+                          ~~~~~~~~~~~~~~~~
Непредвиденная лексема "securityprotocol" в выражении или операторе.
строка:34 знак:13
+         $aconvert $encode 28591
+                   ~~~~~~~
Непредвиденная лексема "$encode" в выражении или операторе.
строка:34 знак:21
+         $aconvert $encode 28591
+                           ~~~~~
Непредвиденная лексема "28591" в выражении или операторе.
строка:37 знак:26
+     $html = [net.webutility]htmldecode($content)convertfrom-html
+                             ~~~~~~~~~~
Непредвиденная лексема "htmldecode" в выражении или операторе.
строка:40 знак:19
+     $tables = $tables{$_.innerhtml -notmatch 'table'}
+                      ~
Непредвиденная лексема "{" в выражении или операторе.
строка:42 знак:14
+     if ([string]isnullorempty($selecttable)){
+                 ~~~~~~~~~~~~~
Непредвиденная лексема "isnullorempty" в выражении или операторе.
строка:42 знак:14
+     if ([string]isnullorempty($selecttable)){
+                 ~~~~~~~~~~~~~
Отсутствует закрывающий знак ")" после выражения в операторе "if".
строка:31 знак:6
+ $ips%{
+      ~
Отсутствует закрывающий знак "}" в блоке операторов или определении типа.
Выданы сообщения не обо всех ошибках синтаксического анализа.  Исправьте перечисленные в сообщениях ошибки и повторите попытку.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken
где-то скобки потерялись.

На рабочем пк другой результат выполнения скрипта, на рабочем пк нет внешнего интернета и powerhtml пришлось сложить в папку с модулями руками, перед выполнением скрипта выполняю импорт powerhtml, но я так понимаю не помогает.
Скрытый текст
Код: Выделить весь код
PS C:\WINDOWS\system32> Import-Module PowerHTML
PS C:\WINDOWS\system32> D:\PowerShell\phone_powerhtml.ps1
new-object : Не удается найти тип [HtmlAgilityPack.HtmlDocument]: убедитесь в том, что сборка, содержащая этот тип, загру
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:55 знак:24
+             $htmlDoc = new-object HtmlAgilityPack.HtmlDocument
+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidType: (:) [New-Object], PSArgumentException
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

Невозможно вызвать метод для выражения со значением NULL.
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:60 знак:21
+                     $htmlDoc.LoadHtml($inputItem)
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Невозможно вызвать метод для выражения со значением NULL.
D:\PowerShell\phone_powerhtml.ps1:38 знак:2
+     [array]$tables = $html.selectnodes('//table')
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Не удается индексировать в массив NULL.
D:\PowerShell\phone_powerhtml.ps1:46 знак:2
+     $tbl = $tables[$number]|%{$n=0}{
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

Исключение при вызове "IndexOf" с "2" аргументами: "Значение не может быть неопределенным.
Имя параметра: array"
D:\PowerShell\phone_powerhtml.ps1:109 знак:2
+     [pscustomobject]@{
+     ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ArgumentNullException

new-object : Не удается найти тип [HtmlAgilityPack.HtmlDocument]: убедитесь в том, что сборка, содержащая этот тип, загру
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:55 знак:24
+             $htmlDoc = new-object HtmlAgilityPack.HtmlDocument
+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidType: (:) [New-Object], PSArgumentException
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

Невозможно вызвать метод для выражения со значением NULL.
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:60 знак:21
+                     $htmlDoc.LoadHtml($inputItem)
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Невозможно вызвать метод для выражения со значением NULL.
D:\PowerShell\phone_powerhtml.ps1:38 знак:2
+     [array]$tables = $html.selectnodes('//table')
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Не удается индексировать в массив NULL.
D:\PowerShell\phone_powerhtml.ps1:46 знак:2
+     $tbl = $tables[$number]|%{$n=0}{
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

Исключение при вызове "IndexOf" с "2" аргументами: "Значение не может быть неопределенным.
Имя параметра: array"
D:\PowerShell\phone_powerhtml.ps1:109 знак:2
+     [pscustomobject]@{
+     ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ArgumentNullException

new-object : Не удается найти тип [HtmlAgilityPack.HtmlDocument]: убедитесь в том, что сборка, содержащая этот тип, загру
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:55 знак:24
+             $htmlDoc = new-object HtmlAgilityPack.HtmlDocument
+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidType: (:) [New-Object], PSArgumentException
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

Невозможно вызвать метод для выражения со значением NULL.
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:60 знак:21
+                     $htmlDoc.LoadHtml($inputItem)
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Невозможно вызвать метод для выражения со значением NULL.
D:\PowerShell\phone_powerhtml.ps1:38 знак:2
+     [array]$tables = $html.selectnodes('//table')
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Не удается индексировать в массив NULL.
D:\PowerShell\phone_powerhtml.ps1:46 знак:2
+     $tbl = $tables[$number]|%{$n=0}{
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

Исключение при вызове "IndexOf" с "2" аргументами: "Значение не может быть неопределенным.
Имя параметра: array"
D:\PowerShell\phone_powerhtml.ps1:109 знак:2
+     [pscustomobject]@{
+     ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ArgumentNullException

new-object : Не удается найти тип [HtmlAgilityPack.HtmlDocument]: убедитесь в том, что сборка, содержащая этот тип, загру
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:55 знак:24
+             $htmlDoc = new-object HtmlAgilityPack.HtmlDocument
+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidType: (:) [New-Object], PSArgumentException
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

Невозможно вызвать метод для выражения со значением NULL.
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:60 знак:21
+                     $htmlDoc.LoadHtml($inputItem)
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Невозможно вызвать метод для выражения со значением NULL.
D:\PowerShell\phone_powerhtml.ps1:38 знак:2
+     [array]$tables = $html.selectnodes('//table')
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Не удается индексировать в массив NULL.
D:\PowerShell\phone_powerhtml.ps1:46 знак:2
+     $tbl = $tables[$number]|%{$n=0}{
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

Исключение при вызове "IndexOf" с "2" аргументами: "Значение не может быть неопределенным.
Имя параметра: array"
D:\PowerShell\phone_powerhtml.ps1:109 знак:2
+     [pscustomobject]@{
+     ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ArgumentNullException

new-object : Не удается найти тип [HtmlAgilityPack.HtmlDocument]: убедитесь в том, что сборка, содержащая этот тип, загру
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:55 знак:24
+             $htmlDoc = new-object HtmlAgilityPack.HtmlDocument
+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidType: (:) [New-Object], PSArgumentException
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

Невозможно вызвать метод для выражения со значением NULL.
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:60 знак:21
+                     $htmlDoc.LoadHtml($inputItem)
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Невозможно вызвать метод для выражения со значением NULL.
D:\PowerShell\phone_powerhtml.ps1:38 знак:2
+     [array]$tables = $html.selectnodes('//table')
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Не удается индексировать в массив NULL.
D:\PowerShell\phone_powerhtml.ps1:46 знак:2
+     $tbl = $tables[$number]|%{$n=0}{
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

Отправлено: 09:04, 22-04-2020 | #81



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1218
Благодарности: 509

Профиль | Отправить PM | Цитировать


Цитата Griboed0ff:
где-то скобки потерялись. »
Наверное, здесь:
Цитата Griboed0ff:
function convert ($from, $to){
begin{
$fenc = [text.encoding]getencoding($from)
$tenc = [text.encoding]getencoding($to)
} »
- двоеточия потерялись...
и здесь:
Цитата Griboed0ff:
$ips%{ »
- не всё в порядке...
там куча таких огрехов...
Используйте исходный скрипт, или проверяйте после копирования/редактирования...

-------
scio me nihil scire. Ѫ


Отправлено: 09:18, 22-04-2020 | #82


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
- но тормоз получился изрядный... »
если в подсети нет айпишек, то начинает записывать данные с прошлой подсети на все что пингуется.
Скрытый текст
IP MAC-адрес Номер телефона Серийный номер Номер модели
10.81.1.134 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.137 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.139 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.140 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.141 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.143 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.144 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.145 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.146 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.147 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.148 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.149 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.150 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.151 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.152 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.155 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.157 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.160 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.163 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.165 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.166 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.167 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.169 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.170 00778DF9B400 60158 WZP230901Q0 CP-7821
10.81.1.172 00778DF9B400 60158 WZP230901Q0 CP-7821
это все компьютеры, которые просто живут там же 130-190

Скрытый текст
PS C:\WINDOWS\system32> D:\PowerShell\phone4.ps1
iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

iwr : Невозможно соединиться с удаленным сервером
D:\PowerShell\phone4.ps1:23 знак:10
+ $html = iwr $_
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

Отправлено: 09:34, 22-04-2020 | #83


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1218
Благодарности: 509

Профиль | Отправить PM | Цитировать


Приведите в порядок код и всё заработает...

-------
scio me nihil scire. Ѫ


Отправлено: 09:42, 22-04-2020 | #84


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
Приведите в порядок код и всё заработает... »
этот
код
Код: Выделить весь код
param (
	#[parameter(Mandatory=$true)]
	$encode = 65001,
	[string]$outfile = 'table.csv',
	[int]$number = 1
)

function convert ($from, $to){
	begin{
		$fenc = [text.encoding]::getencoding($from)
		$tenc = [text.encoding]::getencoding($to)
	}
	process{
		$a = $tenc.getbytes($_)
		$fenc.getstring($a)
	}
}

[net.servicepointmanager]::securityprotocol = 'ssl3,tls,tls11,tls12'
[array]$arr =  gc 'D:\PowerShell\list_Net.txt'
$ips = 130..190 |%{$n=$_;$arr|%{"$_"+$n}}|sort|?{test-connection $_ -count 1 -q}
$ips|%{
	$html = iwr $_
	$tables = $html.parsedhtml.getelementsbytagname("table")
	$tbl = ($tables|?{($_.getelementsbytagname('table')|%{$_}).count -eq 0})[$number]|%{
		$headers = @();
		$tr = $_|%{$_.getelementsbytagname("tr")}
		if($headers = $tr|?{$_.firstchild().tagname -eq 'th'}|
		%{$_.getelementsbytagname("th")}|select -exp innertext){
			if ($headers -match [char]208){$headers=$headers|convert $encode 28591}
			$headers = $headers.trim()
	 	} else {
			$headers = 1..([linq.parallelenumerable]::max(
				[linq.parallelenumerable]::asparallel($tr.lastchild().cellindex)
			)+1)|%{"H$_"}
		}
		$rowind = ,1 * $headers.count
		$tr.where({$_.firstchild().tagname -eq 'td'})|%{
			$row = $_.getelementsbytagname("td") |? innertext -ne $null| select innertext,rowspan,colspan
			if($row.innertext -match [char]208){
				for($i=0;$i -lt $row.count;$i++){
					$row[$i].innertext = $row[$i].innertext|convert $encode 28591
				}
			}
			try {
				$str = [ordered]@{}
				$k=0
				foreach ($item in $row){
					if ($rowind[$k] -gt 1){
						while ($rowind[$k] -gt 1){
							$str[$headers[$k]] = $null
							$rowind[$k] -= 1
							$k++
						}
					}
					if (($colspan = $item.colspan) -gt 1) {
						$str[$headers[$k]] = if($item.innertext){
							$item.innertext.trim()
						} else {$null}
						if ($item.rowspan -gt 1){$rowind[$k] = $item.rowspan}
						$k++
						while ($colspan -gt 1){
							$str[$headers[$k]] = $null
							$colspan -=1
							if ($rowind[$k] -gt 1){$rowind[$k]-=1}
							$k++
						}
					} else {
						$str[$headers[$k]] = if($item.innertext){
							$item.innertext.trim()
						} else {$null}
						if ($item.rowspan -gt 1){$rowind[$k] = $item.rowspan}
						$k++
					}
				}
				[pscustomobject]$str
			} catch {
				write-host Разметка заголовков не соответствует размерам строк -for red
				write-host $_ -for cyan
			}
		}
	}
	[pscustomobject]@{
		'IP'				= $_
		'MAC-адрес' 		= $tbl[([array]::indexof($tbl.h1,'MAC-адрес'))].h2
		'Номер телефона'	= if ([array]::indexof($tbl.h1,'Номер телефона') -ne -1){
								$tbl[([array]::indexof($tbl.h1,'Номер телефона'))].h2
							  } else {
							  	$tbl[([array]::indexof($tbl.h1,'Номер телефона 1'))].h2
							  }
		'Серийный номер'	= $tbl[([array]::indexof($tbl.h1,'Серийный номер'))].h2
		'Номер модели'		= $tbl[([array]::indexof($tbl.h1,'Номер модели'))].h2
	}
} |export-csv D:\PowerShell\all_phone.csv -notype -enc utf8 -d ';'
я скопировал у вас, менял только путь к файлу подсетей и путь вывода. Отрабатывает нормально, но если нет в сети айпишек то берет какой-то результат и приписывает его ко всему, что пингуется.
Результат выполнения кода
Код: Выделить весь код
10.81.1.134	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.137	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.139	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.140	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.141	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.143	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.144	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.145	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.146	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.147	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.148	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.149	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.150	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.151	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.152	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.155	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.157	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.160	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.163	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.165	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.166	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.167	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.169	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.170	00778DF88C94	60025	WZP23060APA	CP-7821
10.81.1.172	00778DF88C94	60025	WZP23060APA	CP-7821
ошибки, которые выдал, когда нет айпишек.
Код: Выделить весь код
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
 
iwr : Невозможно соединиться с удаленным сервером
строка:23 знак:10
+     $html = iwr $_
+             ~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
В подсетях где есть айпишки этот же скрипт корректно выдает информацию.

Отправлено: 10:46, 22-04-2020 | #85


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1218
Благодарности: 509

Профиль | Отправить PM | Цитировать


Цитата Griboed0ff:
Отрабатывает нормально, но если нет в сети айпишек то берет какой-то результат и приписывает его ко всему, что пингуется. »
По идее, вот здесь:
Цитата Griboed0ff:
$ips = 130..190 |%{$n=$_;$arr|%{"$_"+$n}}|sort|?{test-connection $_ -count 1 -q} »
-есть проверка существования хостов и если они не отвечают, то в массив не должны попадать...
Хотя, конечно, есть вероятность того, что пока пингуется весь список по порядку, какой-либо хост отключается и соответственно, происходит именно то, что Вы описываете.
Бороться с этим можно так:
script.ps1
Код: Выделить весь код
param (
	#[parameter(Mandatory=$true)]
	$encode = 65001,
	[string]$outfile = 'table.csv',
	[int]$number = 1
)

function convert ($from, $to){
	begin{
		$fenc = [text.encoding]::getencoding($from)
		$tenc = [text.encoding]::getencoding($to)
	}
	process{
		$a = $tenc.getbytes($_)
		$fenc.getstring($a)
	}
}

[net.servicepointmanager]::securityprotocol = 'ssl3,tls,tls11,tls12'
[array]$arr = gc 'D:\PowerShell\list_Net.txt'
$ips = 130..190 |%{$n=$_;$arr|%{"$_"+$n}}|sort|?{test-connection $_ -count 1 -q}
$ips|%{
	if (test-connection $_ -count 1 -q){
		try{
			$html = iwr $_
			$tables = $html.parsedhtml.getelementsbytagname("table")
			$tbl = ($tables|?{($_.getelementsbytagname('table')|
			%{$_}).count -eq 0})[$number]|%{
				$headers = @();
				$tr = $_|%{$_.getelementsbytagname("tr")}
				if($headers = $tr|?{$_.firstchild().tagname -eq 'th'}|
				%{$_.getelementsbytagname("th")}|select -exp innertext){
					if ($headers -match [char]208){$headers=$headers|convert $encode 28591}
					$headers = $headers.trim()
			 	} else {
					$headers = 1..([linq.parallelenumerable]::max(
						[linq.parallelenumerable]::asparallel($tr.lastchild().cellindex)
					)+1)|%{"H$_"}
				}
				$rowind = ,1 * $headers.count
				$tr.where({$_.firstchild().tagname -eq 'td'})|%{
					$row = $_.getelementsbytagname("td") |? innertext -ne $null|
					select innertext,rowspan,colspan
					if($row.innertext -match [char]208){
						for($i=0;$i -lt $row.count;$i++){
							$row[$i].innertext = $row[$i].innertext|convert $encode 28591
						}
					}
					$str = [ordered]@{}
					$k=0
					foreach ($item in $row){
						if ($rowind[$k] -gt 1){
							while ($rowind[$k] -gt 1){
								$str[$headers[$k]] = $null
								$rowind[$k] -= 1
								$k++
							}
						}
						if (($colspan = $item.colspan) -gt 1) {
							$str[$headers[$k]] = if($item.innertext){
								$item.innertext.trim()
							} else {$null}
							if ($item.rowspan -gt 1){$rowind[$k] = $item.rowspan}
							$k++
							while ($colspan -gt 1){
								$str[$headers[$k]] = $null
								$colspan -=1
								if ($rowind[$k] -gt 1){$rowind[$k]-=1}
								$k++
							}
						} else {
							$str[$headers[$k]] = if($item.innertext){
								$item.innertext.trim()
							} else {$null}
							if ($item.rowspan -gt 1){$rowind[$k] = $item.rowspan}
							$k++
						}
					}
					[pscustomobject]$str
				}
			}
			[pscustomobject]@{
				'IP'				= $_
				'MAC-адрес' 		= $tbl[([array]::indexof($tbl.h1,'MAC-адрес'))].h2
				'Номер телефона'	= if ([array]::indexof($tbl.h1,'Номер телефона') -ne -1){
										$tbl[([array]::indexof($tbl.h1,'Номер телефона'))].h2
									  } else {
									  	$tbl[([array]::indexof($tbl.h1,'Номер телефона 1'))].h2
									  }
				'Серийный номер'	= $tbl[([array]::indexof($tbl.h1,'Серийный номер'))].h2
				'Номер модели'		= $tbl[([array]::indexof($tbl.h1,'Номер модели'))].h2
			}
		} catch {
			write-host Ошибка: $_ -for red
		}
	}
} |export-csv D:\PowerShell\all_phone.csv -notype -enc utf8 -d ';'


Но рекомендую довести до ума парсер с PowerHTML, это будет лучший вариант...

-------
scio me nihil scire. Ѫ


Отправлено: 11:30, 22-04-2020 | #86


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Цитата Griboed0ff:
иб никогда не пропустит »
Да, вменяемые люди в ИБ - это большая редкость.
Windows они пропустили, циско и т. п., а GLPI - это нельзя. Смешно.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:41, 22-04-2020 | #87


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
PowerHTML Вот, скрипт на его основе: »
смог запустить powerhtml, но вывод оказался пустой.
Скрипт
Код: Выделить весь код
param (
	#[parameter(Mandatory=$true)]
	[string]$outfile = 'table_phtml.csv',
	$encode = 65001,
	[int[]]$SelectTable = 1
)

#---Эту секцию можно удалить после однократного запуска скрипта от имени админа ------------------
# Установка дополнительного модуля PowerHTML, для независимого парсинга HTML
# Может потребоваться ручное подтверждение установки. 
if (!(get-module -list powerhtml)) {
	write-verbose "Installing PowerHTML module for the current user..."
	install-module powerhtml #-scope currentuser
}
#-----------------------------------------------------------------------------------------

function convert ($from, $to){
	begin{
		$fenc = [text.encoding]::getencoding($from)
		$tenc = [text.encoding]::getencoding($to)
	}
	process{
		$a = $tenc.getbytes($_)
		$fenc.getstring($a)
	}
}
[net.servicepointmanager]::securityprotocol = 'ssl3,tls,tls11,tls12'
[array]$arr =  gc 'D:\PowerShell\list_Net.txt'
$ips = 2..254 |%{$n=$_;$arr|%{"$_"+$n}}|sort|?{test-connection $_ -count 1 -q}

$ips|%{
	$a = (iwr $_).content
	$content = if ($a -match [char]208){
		$a|convert $encode 28591
	} else {$a}
	
	$html = [net.webutility]::htmldecode($content)|convertfrom-html
	[array]$tables = $html.selectnodes('//table')
	# Исключение вложенных таблиц:
	$tables = $tables|?{$_.innerhtml -notmatch 'table'}
	
	if ([string]::isnullorempty($selecttable)){
		$number = 0..($tables.count-1)
	} else {$number = $selecttable}
	
	$tbl = $tables[$number]|%{$n=0}{
		$tr = if($_.element('tbody')){
			$_.element('tbody').elements('tr')
		} else {$_.elements('tr')}
		$headers = @()
		if($headers = $tr|?{$_.element('th') -ne $null}|
		%{$_.elements('th')}|select -exp innertext){
			$headers=$headers.trim()
		} else {
			$headers = 1..(
				[linq.parallelenumerable]::max(
					[linq.parallelenumerable]::asparallel(($tr|
					%{($_.elements('td')|? innertext -ne ''|%{$_}).count}))
				)
			)|%{"H$_"}
		}
		$rowind = ,1 * $headers.count
		$tr|?{$_.elements('td') -ne $null}|%{
			$row = $_.elements('td')|? innertext -ne ''|%{
				$attr = $_.attributes
				if ($attr){
					$rowspan = ($attr|? name -eq 'rowspan'|select value).value
					$colspan = ($attr|? name -eq 'colspan'|select value).value
				}
				[pscustomobject]@{
					'InnerText' = $_.innertext
					'RowSpan' = if($rowspan){[int]$rowspan} else {1}
					'ColSpan' = if($colspan){[int]$colspan} else {1}
				}
			}
			$str = [ordered]@{}
			$k=0
			foreach ($item in $row){
				if ($rowind[$k] -gt 1){
					while ($rowind[$k] -gt 1){
						$str[$headers[$k]] = $null
						$rowind[$k] -= 1
						$k++
					}
				}
				if (($colspan = $item.colspan) -gt 1) {
					$str[$headers[$k]] = if($item.innertext){
						$item.innertext.trim()
					} else {$null}
					if ($item.rowspan -gt 1){$rowind[$k] = $item.rowspan}
					$k++
					while ($colspan -gt 1){
						$str[$headers[$k]] = $null
						$colspan -=1
						if ($rowind[$k] -gt 1){$rowind[$k]-=1}
						$k++
					}
				} else {
					$str[$headers[$k]] = if($item.innertext){
						$item.innertext.trim()
					} else {$null}
					if ($item.rowspan -gt 1){$rowind[$k] = $item.rowspan}
					$k++
				}
			}
			[pscustomobject]$str
		}
	}
	[pscustomobject]@{
		'IP'				= $_
		'MAC-адрес' 		= $tbl[([array]::indexof($tbl.h1,'MAC-адрес'))].h2
		'Номер телефона'	= if ([array]::indexof($tbl.h1,'Номер телефона') -ne -1){
								$tbl[([array]::indexof($tbl.h1,'Номер телефона'))].h2
							  } else {
							  	$tbl[([array]::indexof($tbl.h1,'Номер телефона 1'))].h2
							  }
		'Серийный номер'	= $tbl[([array]::indexof($tbl.h1,'Серийный номер'))].h2
		'Номер модели'		= $tbl[([array]::indexof($tbl.h1,'Номер модели'))].h2
	}
} |export-csv D:\PowerShell\all_phone_html.csv -notype -enc utf8 -d ';'
ошибки
Код: Выделить весь код
new-object : Не удается найти тип [HtmlAgilityPack.HtmlDocument]: убедитесь в том, что сборка, содержащая этот тип, загружена.
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:55 знак:24
+             $htmlDoc = new-object HtmlAgilityPack.HtmlDocument
+                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidType: (:) [New-Object], PSArgumentException
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
 
Невозможно вызвать метод для выражения со значением NULL.
C:\Program Files\WindowsPowerShell\Modules\PowerHTML\0.1.7\Public\ConvertFrom-HTML.ps1:60 знак:21
+                     $htmlDoc.LoadHtml($inputItem)
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Невозможно вызвать метод для выражения со значением NULL.
D:\PowerShell\phone_powerhtml.ps1:38 знак:2
+     [array]$tables = $html.selectnodes('//table')
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:47 знак:12
+         $tr = if($_.element('tbody')){
+                  ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "element".
D:\PowerShell\phone_powerhtml.ps1:51 знак:23
+         if($headers = $tr|?{$_.element('th') -ne $null}|
+                             ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (element:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "elements".
D:\PowerShell\phone_powerhtml.ps1:58 знак:8
+ ...               %{($_.elements('td')|? innertext -ne ''|%{$_}).count}))
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (elements:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "elements".
D:\PowerShell\phone_powerhtml.ps1:58 знак:8
+ ...               %{($_.elements('td')|? innertext -ne ''|%{$_}).count}))
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (elements:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "elements".
D:\PowerShell\phone_powerhtml.ps1:58 знак:8
+ ...               %{($_.elements('td')|? innertext -ne ''|%{$_}).count}))
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (elements:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "elements".
D:\PowerShell\phone_powerhtml.ps1:58 знак:8
+ ...               %{($_.elements('td')|? innertext -ne ''|%{$_}).count}))
+                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (elements:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound
 
Сбой вызова метода из-за отсутствия в [System.__ComObject] метода с именем "elements".

Цитата YuS_2::
Но рекомендую довести до ума парсер с PowerHTML, это будет лучший вариант... »
похоже мои ошибки вызваны неработающим powerhtml?
Цитата YuS_2:
Бороться с этим можно так: »
помогло.

Отправлено: 12:09, 22-04-2020 | #88


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1218
Благодарности: 509

Профиль | Отправить PM | Цитировать


Цитата Griboed0ff:
похоже мои ошибки вызваны неработающим powerhtml? »
Да. Без этого:

работать не будет...
Необходимо модуль установить...

-------
scio me nihil scire. Ѫ


Отправлено: 12:46, 22-04-2020 | #89


Старожил


Сообщения: 211
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
Необходимо модуль установить... »
Установил на пк где есть инет, скопировал папку с модулем и положил по тому же пути на пк где инет ограничен. В списке модулей числится, перед запуском скрипта выполняю импорт модуля, без ошибок. Видимо каких-то связей не хватает.

Отправлено: 12:59, 22-04-2020 | #90



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - вытянуть информацию из html полученного через curl

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как получить информацию, не отображаемую в HTML-коде? Apock Вебмастеру 0 26-12-2015 22:11
Имитация браузера через cURL dmit.medv Вебмастеру 0 28-12-2012 18:02
[решено] Вывести информацию из файла через JS MultiMax Вебмастеру 1 31-05-2011 22:58
[решено] Вытянуть содержание HTML тега с помощью регулярных выражений aesir AutoIt 4 28-08-2009 21:22
Как передать в javascript данные массива, полученного из кода на php vagner_HATE Вебмастеру 1 18-06-2009 13:51




 
Переход