<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Получение параметров по сети через PowerShell]]></title><description><![CDATA[<p dir="auto">В PowerShell есть масса возможностей получать параметры с других компьютеров, по своей сути это информация WMI, но, при всем этом в интернете масса решений для получения тех или иных параметров, возможность их предобработки, а так же возможность получать эту информацию без агента на компьютере.</p>
<p dir="auto">Каким образом ноде, присвоить значение полученное скриптом через агент другого компьютера?<br />
В настоящий момент есть идея через агент сервера, где установлен агент выполнять PowerShell скрипт, снимающий значения с Windows компьютеров в сети, и заносить их в базу.<br />
<em><strong>Каким образом можно инициализировать выполнение скрипта на сервере с подстановкой параметра $node в качестве имени компьютера ($computer в примере ниже) и, присвоением возвращенного результата в качестве значения определенного параметра для $node?</strong></em><br />
Я знаю, что снятие значений таким образом займет много времени, но в моем случае оно не требует оперативности, т.е. такой обход достаточен раз в сутки.</p>
<p dir="auto">По своей сути данное решение является аналогом Agentless WMI, который ожидается в новой версии, но хочется, и, даже нужно уже сейчас.</p>
<p dir="auto">Примеры того, что хотелось бы получать:<br />
Get-WmiObject -Class Win32_LogicalDisk -Computername $computer -Filter DriveType=3 | Select DeviceID , @{Name=”size(GB)”;Expression={“{0:N1}” -f($_.size/1gb)}}, @{Name=”freespace(GB)”;Expression={“{0:N1}” -f($_.freespace/1gb)}}</p>
<p dir="auto">(Get-WmiObject -Class Win32_ComputerSystem -Computername $computer | Select-Object Name,Domain,Model).Model</p>
<p dir="auto">(Get-Service | Where {$_.Name -eq "ServiceName"} | Select-Object Status).Status</p>
]]></description><link>https://forum.netxms.org/topic/2999/получение-параметров-по-сети-через-powershell</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 09:41:37 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/2999.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Mar 2014 07:52:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Tue, 01 Apr 2014 15:44:45 GMT]]></title><description><![CDATA[<p dir="auto">Можно пробовать использовать ExternalParametersProvider - на форуме довольно много сообщений на эту тему, например это: <a href="https://www.netxms.org/forum/configuration/reading-in-values-from-a-file/msg10173/#msg10173" rel="nofollow ugc">https://www.netxms.org/forum/configuration/reading-in-values-from-a-file/msg10173/#msg10173</a>.</p>
<p dir="auto">Первая версия в ветке 1.3.x будет думаю в начале мая.</p>
]]></description><link>https://forum.netxms.org/post/13396</link><guid isPermaLink="true">https://forum.netxms.org/post/13396</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Tue, 01 Apr 2014 15:44:45 GMT</pubDate></item><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Tue, 01 Apr 2014 13:19:34 GMT]]></title><description><![CDATA[<p dir="auto">Нет ли опции для агента, что позволяет параллелить выполняемые задания?</p>
<p dir="auto">Нахожу все больше интересных вещей, которые можно мониторить powershell-ом:</p>
<p dir="auto">Скорость на интерфейсе:<br />
Get-Counter -ComputerName $computername -Counter "\Network Interface(*)\Current Bandwidth"<br />
Количество открытых сессий:<br />
Get-Counter -ComputerName $computername -Counter "\Terminal Services\Total Sessions"<br />
Свободное место:<br />
Get-Counter -ComputerName $computername -Counter "\LogicalDisk(*)\% Free Space"<br />
Загрузку диска:<br />
Get-Counter -ComputerName $computername -Counter "\PhysicalDisk(*)\Disk Reads/sec" -SampleInterval 1 -MaxSamples 5</p>
<p dir="auto">Сейчас ищу как получать количество открытых соединений, но, думаю, что наверняка есть.</p>
<p dir="auto">Также поинтересуюсь: Когда стоит ждать версию 1.3 и AgentlessWMI?</p>
]]></description><link>https://forum.netxms.org/post/13390</link><guid isPermaLink="true">https://forum.netxms.org/post/13390</guid><dc:creator><![CDATA[sdm]]></dc:creator><pubDate>Tue, 01 Apr 2014 13:19:34 GMT</pubDate></item><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Fri, 21 Mar 2014 07:14:27 GMT]]></title><description><![CDATA[<p dir="auto">Вообщем результаты:<br />
Все настроилось, работает и выполняет то, что нужно, но, лишь при нагрузке в 2 компьютера, (на которых я тестировал).<br />
Сам по себе скрипт:<br />
powershell.exe "(Get-WmiObject -Class Win32_ComputerSystem -Computername localhost | Select-Object Name,Domain,Model).Model<br />
локально у меня отрабатывает около 7-ми секунд.<br />
Для тестов такую же метрику я добавил на саму ноду, с которой работает клиент, в результате после добавления задания на несколько десятков компьютеров, метрика на ноде с клиентом стала сниматься рывками, т.е. при количестве в 2 компьютера все успевало сниматься каждую минуту, а вот при добавлении еще нескольких десятков компьютеров начали появляться перерывы в метриках в неколько минут.<br />
Получается, что все операции агент делает последовательно, не распараллеливая выполнение.<br />
К 7-ми секундам на выполнение, нужно добавлять время на ожидание возврата ошибки в powershell, когда нет связи или доступа к какой-либо из нод.</p>
]]></description><link>https://forum.netxms.org/post/13221</link><guid isPermaLink="true">https://forum.netxms.org/post/13221</guid><dc:creator><![CDATA[sdm]]></dc:creator><pubDate>Fri, 21 Mar 2014 07:14:27 GMT</pubDate></item><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Wed, 19 Mar 2014 14:17:49 GMT]]></title><description><![CDATA[<p dir="auto">Прокси указать в шаблоне (поскольку он не меняется), а в качестве имени ноды в шаблоне указать %{node_name} (все макросы описаны здесь: <a href="https://www.netxms.org/documentation/adminguide/data-collection.html#macros-in-template-items" rel="nofollow ugc">https://www.netxms.org/documentation/adminguide/data-collection.html#macros-in-template-items</a>).</p>
]]></description><link>https://forum.netxms.org/post/13204</link><guid isPermaLink="true">https://forum.netxms.org/post/13204</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Wed, 19 Mar 2014 14:17:49 GMT</pubDate></item><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Wed, 19 Mar 2014 14:03:42 GMT]]></title><description><![CDATA[<p dir="auto">Что-то на радостях забыл одну из главных настроек, как все это переделать в шаблон и автоматически, в качестве значений в скобках прописывать имя ноды, с указанием прокси в настройках?</p>
]]></description><link>https://forum.netxms.org/post/13203</link><guid isPermaLink="true">https://forum.netxms.org/post/13203</guid><dc:creator><![CDATA[sdm]]></dc:creator><pubDate>Wed, 19 Mar 2014 14:03:42 GMT</pubDate></item><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Wed, 19 Mar 2014 14:00:47 GMT]]></title><description><![CDATA[<p dir="auto">Снова спасибо, после добавления опции все заработало!!.</p>
<p dir="auto">У меня тут после добавления сервера в домен перестал запускаться SQL, который от MS (черт попутал выбрать эту БД). Как выяснилось это стандартная фитча.<br />
Не имеет отношения к текущему вопросу, но за оперативность желаю помочь проекту: я ставил версию 1.2.12, в качестве базы используется SQL Express 2012 (я не сторонник, но, большинство коллег работает с ней), все это запущено на Windows Server 2012 R2. В результате драйвер mssql не работает, зато работает odbc. Кроме сегодняшних проблем с запуском других проблем не наблюдал. После того, как потестирую, выложу получившиеся конфиги.</p>
]]></description><link>https://forum.netxms.org/post/13202</link><guid isPermaLink="true">https://forum.netxms.org/post/13202</guid><dc:creator><![CDATA[sdm]]></dc:creator><pubDate>Wed, 19 Mar 2014 14:00:47 GMT</pubDate></item><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Wed, 19 Mar 2014 12:16:44 GMT]]></title><description><![CDATA[<p dir="auto">Попробуйте поставить параметр сервера CheckTrustedNodes в 0.</p>
]]></description><link>https://forum.netxms.org/post/13200</link><guid isPermaLink="true">https://forum.netxms.org/post/13200</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Wed, 19 Mar 2014 12:16:44 GMT</pubDate></item><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Wed, 19 Mar 2014 12:14:52 GMT]]></title><description><![CDATA[<p dir="auto">Главный тест, проверил работу метрик:<br />
Write-Host(custom) и GetComputerModelHost(customcomputername)<br />
На ноде с агентом все работает и возвращает результат.<br />
При выставлении этих же метрик на ноду без агента, но, с указанием прокси ничего не приходит, а метрика переходит в состояние Unsupported.</p>
]]></description><link>https://forum.netxms.org/post/13198</link><guid isPermaLink="true">https://forum.netxms.org/post/13198</guid><dc:creator><![CDATA[sdm]]></dc:creator><pubDate>Wed, 19 Mar 2014 12:14:52 GMT</pubDate></item><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Wed, 19 Mar 2014 11:56:34 GMT]]></title><description><![CDATA[<p dir="auto">Спасибо за оперативный ответ, все почти заработало<br />
Разобрался, что файл хранящийся по пути: C:\NetXMSAgent\etc\nxagentd.conf не имеет отношения к конфигурации агента, а вся настройка производится в консоли управления, по нажатию пкм на хосте из списка слева.</p>
<p dir="auto">На хосте с агентом добавлены параметры:<br />
чтобы была возможность использовать его как прокси:<br />
EnableProxy = yes<br />
чтобы дожидаться выполнения достаточно продолжительных powershell комманд:<br />
ExecTimeout = 20000<br />
примеры того, что я тестировал, работают оба варианта:<br />
ExternalParameterShellExec = GetComputerModelLocal(*):powershell.exe "(Get-WmiObject -Class Win32_ComputerSystem -Computername localhost | Select-Object Name,Domain,Model).Model"<br />
ExternalParameterShellExec = GetComputerModelHost(*):powershell.exe "(Get-WmiObject -Class Win32_ComputerSystem -Computername <em><strong>CustomName</strong></em> | Select-Object Name,Domain,Model).Model"<br />
Так же с целью тестов, а именно того, что отправляется в powershell добавлено:<br />
ExternalParameterShellExec = Write-Host(*):powershell.exe "Write-Host 1::$1 host::$host"</p>
<p dir="auto">В результате<br />
$1 - возвращает символ: *<br />
$host возвращает слово: host</p>
<p dir="auto">А вот при попытке добавить Write-Host(*) на другой компьютер с указанием в прокси компьютера с агентом никакие данные не отображаются, т.е. в приведенном примере, там, где установлен агент в качестве значений не пишутся: * и node,<br />
на нужном мне компьютере (где нет агента) значения не пишутся, а метрики переходят в состояние: Не поддерживается<br />
То же самое наблюдается при указании в качестве метрики Write-Host(computername)</p>
<p dir="auto">Я правильно делаю, что добавляя метрику выбираю: прокси-ноду, Агент NetXMS, а в строчке Параметр вручную вписываю Write-Host(*), потомучто при нажатии кнопки Выбрать ничего не предлагается?<br />
При выполнении скриптов замечены тормоза, означает ли это, что все выполняется последовательно, и, пока предыдущий скрипт не вернет ошибку, опрос соседнего хоста производится не будет?<br />
Также остается вопрос каким образом автоматизировать добавление данного шаблона на другие компьютеры, т.е. способ, чтобы имя ноды подставлялось для снятия метрики автоматически..</p>
]]></description><link>https://forum.netxms.org/post/13196</link><guid isPermaLink="true">https://forum.netxms.org/post/13196</guid><dc:creator><![CDATA[sdm]]></dc:creator><pubDate>Wed, 19 Mar 2014 11:56:34 GMT</pubDate></item><item><title><![CDATA[Reply to Получение параметров по сети через PowerShell on Tue, 18 Mar 2014 13:29:18 GMT]]></title><description><![CDATA[<p dir="auto">Один из вариантов такой:</p>
<ol>
<li>Делаем ExternalParameter на агенте, с которого будем запускать скрипт. Выглядеть он может как-нибудь так:</li>
</ol>
<p dir="auto">ExternalParameterShellExec = Test(*):start_script.cmd $1</p>
<p dir="auto">В $1 попадет имя ноды.</p>
<ol start="2">
<li>На узлах, для которых надо собирать информацию, делаем DCI Test(<em>имя ноды</em>) и указываем как прокси узел с агентом.</li>
</ol>
]]></description><link>https://forum.netxms.org/post/13171</link><guid isPermaLink="true">https://forum.netxms.org/post/13171</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Tue, 18 Mar 2014 13:29:18 GMT</pubDate></item></channel></rss>