PowerShell обеспечивает удаленный доступ к наблюдаемым устройствам и возможность использования модулей PowerShell и установленных библиотек .NET.
WhatsUp Gold использует 32-битный (другими словами «x86») обработчик PowerShell. Поддерживается только 32-битная оснастка PowerShell, а только 64-битная оснастка не будет работать верно. Оснастка для работы в 32-битных и 64-битных операционных системах стандартно настраивается на 64-битные системы, и должна быть вручную настроена для 32-битного обработчика PowerShell для правильной работы с WhatsUp Gold.
Требования удаленного подключения
Убедитесь, что для того, чтобы машина WhatsUp Gold могла создать подключение к целевому опрашиваемому устройству с помощью PowerShell, соблюдены следующие условия.
Включить-PSRemoting
. Включение удаленного подключения к PowerShell целевому (опрашиваемому) устройству. Для получения дополнительной информации см. предоставленную ссылку на документацию MSDN.Поля конфигурации для этого активного монитора следующие:
Для сценариев активных мониторов 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. |
CredSnmpV3:EncryptProtocol(значение целого числа) |
Целое числовое значение может быть одним из следующих:
|
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. |
Создайте активный монитор 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 )
}