PowerShell

PowerShell обеспечивает удаленный доступ к наблюдаемым устройствам и возможность использования модулей PowerShell и установленных библиотек .NET.

Необходимые условия

WhatsUp Gold использует 32-битный (другими словами «x86») обработчик PowerShell. Поддерживается только 32-битная оснастка PowerShell, а только 64-битная оснастка не будет работать верно. Оснастка для работы в 32-битных и 64-битных операционных системах стандартно настраивается на 64-битные системы, и должна быть вручную настроена для 32-битного обработчика PowerShell для правильной работы с WhatsUp Gold.

Требования удаленного подключения

Убедитесь, что для того, чтобы машина WhatsUp Gold могла создать подключение к целевому опрашиваемому устройству с помощью PowerShell, соблюдены следующие условия.

Конфигурация монитора

Поля конфигурации для этого активного монитора следующие:

Доступные объекты и атрибуты монитора

Для сценариев активных мониторов PowerShell имеется два созданных экземпляра объектов.

Получение или настройка свойств контекстного объекта

С помощью сценариев активных мониторов PowerShell можно выполнить получение значений контекстных свойств.

Синтаксис

Property-Value = Context.GetProperty("Property-Name")

Context.SetProperty("Property-Name","Property-Value")

Пример

$DeviceIpAddress = $Context.GetProperty("Address")

$Context.SetProperty("Timeout", "180")

Настройка строки результата и индикатора состояния монитора

Строка результата, которую вы настраиваете, добавляется в описание изменения состояния монитора. Устанавливаемый флажок состояния (0, 1) активно/неактивно определяет состояние индикатора, показанного в истории изменения состояния.

# После успешного выполнения команды чтения (Get) IP-адреса устройств (deviceIP), выполняется запись (Set) в качестве результата и в качестве флажка успешного выполнения...

$Context.SetResult(0, "IP адрес устройства следующий: " + $DeviceIpAddress)

Свойства контекстных объектов

Доступ к следующим свойствам можно получить с объекта подключения, созданного во время работы PowerShell.

Имя свойства

Описание

DeviceID

WhatsUp Gold Строка идентификации устройства.

Адрес

IP-адрес.

Тайм-аут

Значение тайм-аута для текущего сеанса. (секунд)

Свойства учетных данных контекстных объектов

Для PowerShell можно установить следующие свойства учетных данных. Это полезно, когда необходимо создать подключение к другим службам, платформам или приложениям после первоначального подключения PowerShell с помощью активного монитора.

Имя свойства

Описание

CredWindows:DomainAndUserid

Домен и пользователь для учетных данных Windows.

CredWindows:Password

Установить пароль Windows.

CredSnmpV1:ReadCommunity

SNMPv1 Строка сообщества чтения.

CredSnmpV1:WriteCommunity

SNMPv1 Строка сообщества записи.

CredSnmpV2:ReadCommunity

SNMPv2 Строка сообщества чтения.

CredSnmpV2:WriteCommunity

SNMPv2 Строка сообщества записи.

CredSnmpV3:AuthPassword

Пароль SNMPv3.

CredSnmpV3:AuthProtocol(значение целого числа)

Протокол проверки подлинности SNMPv3.
значения: 1 = Нет, 2 = MD5, 3 = SHA

CredSnmpV3:EncryptProtocol(значение целого числа)

Целое числовое значение может быть одним из следующих:

  • 1 = Нет
  • 2 = DES56
  • 3 = AES128
  • 4 = AES192
  • 5 = AES256
  • 6 = THREEDES

CredSnmpV3:EncryptPassword

Зашифрованный пароль SNMPv3.

CredSnmpV3:Username

Пользователь SNMPv3.

CredSnmpV3:Context

Контекст SNMPv3.

CredADO:Password

Пароль ADO.

CredADO:Username

Имя пользователя ADO.

CredSSH:Username

Имя пользователя SSH.

CredSSH:Password

Пароль SSH.

CredSSH:EnablePassword

Флажок включения пароля.

CredSSH:Port

Порт SSH, если не по умолчанию.

CredSSH:Timeout

Тайм-аут для сеанса SSH.

CredVMware:Username

Имя пользователя VMware.

CredVMware:Password

Пароль VMware.

CredTelnet:Timeout

Значение тайм-аута для подключения Telnet.

CredTelnet:Port

Порт Telnet (если не по умолчанию).

CredTelnet:Username

Имя пользователя Telnet.

CredTelnet:Password

Пароль Telnet.

CredJMX:Username

Имя пользователя расширений управления Java.

CredJMX:Password

Пароль расширений управления Java.

CredSMIS:Timeout

Тайм-аут управления накопителями.

CredSMIS:Port

Порт управления накопителями.

CredSMIS:Protocol

 

Протокол управления накопителями.

CredSMIS:Username

 

Имя пользователя управления накопителями.

CredSMIS:Password

 

Пароль управления накопителями.

CredAWS:AccessKeyID

 

ID учетной записи веб-служб Amazon.

CredAWS:SecureAccessKey

 

Ключ доступа веб-служб Amazon.

CredAzure:TenantID

 

ID подписки Azure.

CredAzure:ClientID

 

ID учетной записи клиента Azure.

CredAzure:SecureKey

Ключ учетной записи Azure.

CredRestAPI:Имя пользователя

Имя пользователя, необходимое для аутентификации устройства.

CredRestAPI:Пароль

Пароль, связанный с именем пользователя.

CredRedfish:Имя пользователя

Имя пользователя для доступа к аппаратному устройству.

CredRedfish:Пароль

Пароль для доступа к аппаратному устройству.

CredRedfish:Протокол

Протокол безопасной связи с устройством.

CredRedfish:Порт

Номер порта для связи с устройством.

CredRedfish:Тайм-аут

Продолжительность времени попыток подключения.

 

CredRedfish:Попытки

Количество попыток WhatsUp Gold для установки связи с устройством.

CredRedfish:ИгнорироватьОшибкиСертификата

Игнорировать ошибки сертификата.

Пример: Проверьте, запущена ли служба

Создайте активный монитор PowerShell, отображающий состояние активно, только если DNS-клиент работает с использованием сохраненных учетных данных.

# Устройство для опроса

$DeviceIpAddress = $Context.GetProperty("Address")

# Установите имя компьютера непосредственно или...

# $CompName = mydb02.corpnet.example.com (например)

# ...получите его при помощи WMI...

$WmiRes = Invoke-Command -ComputerName $DeviceIpAddress -ScriptBlock { Get-WmiObject Win32_Computersystem }

$CompName = $WMIRes.PSComputerName

# Запустите команду на удаленном устройстве

$PsResult = Invoke-Command -ComputerName $DeviceName -ScriptBlock { Get-Service | где { $_.Name -match "Dnscache" } }

# Проверьте состояние 'running'

если ($PsResult.Status -match 'Running') {

$RespondingMessage = "Process '" + $processName + "' работает на " + $DeviceIpAddress + " отвечает".

$Context.SetResult(0, $RespondingMessage )

} или {

$NotRunningMessage = "Process '" + $processName + "' работает на " + $DeviceIpAddress + " не отвечает".

$Context.SetResult(1, $NotRunningMessage )

}

See Also

Активные мониторы

Активный сценарий (Активный)

ИБП APC (Активный)

Состояние однорангового узла протокола пограничного шлюза

Монитор облачных ресурсов

DNS

Электронная почта

Exchange 2003

Exchange

Вентилятор

Содержимое файла

Свойства файла

Папка

FTP

Контент HTTP

JMX (Активный)

Активный монитор состояния устройства Meraki

Статистика сети

Ping

Джиттер интервала между фреймами Ping

Источники питания

Принтер

Процесс

REST API (активный)

Служба

SMI-S

Расширенный SNMP

SNMP (Активный)

Запрос SQL (Активный)

SQL Server

SSH (Активный)

Сертификат SSL

Монитор работоспособности контроллера хранилища

TCPIP

Telnet

Температура

VoIP

WAP-радио

WMI Форматированный

WMI

Установить свойства опроса

Применение действие к монитору

Использование политик действий

Политика неявных действий