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 )
}