Ошибка вызова метода при попытке создать всплывающее окно - PullRequest
0 голосов
/ 22 июня 2019
$out = Get-WmiObject -class Win32_PerfFormattedData_Tcpip_NetworkInterface |
    select name , BytesTotalPersec

$out.popup("Network status",0,"Done",0x1)

Ошибка: не удалось вызвать метод, поскольку [Selected.System.Management.ManagementObject] не содержит метод с именем «popup».В строке: 2 символа: 1 + $ out.popup («Состояние сети», 0, «Готово», 0x1) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (popup: String) [], RuntimeException + FullyQualifiedErrorId: MethodNotFound

Ответы [ 2 ]

4 голосов
/ 22 июня 2019
using assembly System.Windows.Forms
using namespace System.Windows.Forms
[messagebox]::show('hello world')
2 голосов
/ 23 июня 2019

PopUp - это метод, вызываемый из класса Wscript.Shell. Он не будет работать с объектом экземпляра WMI (или коллекцией экземпляров). Если вы хотите отобразить результаты этого запроса WMI, используя всплывающее окно с сообщением в вашем примере, вам нужно будет сделать что-то вроде этого.

$out = Get-WmiObject -class Win32_PerfFormattedData_Tcpip_NetworkInterface | select name , BytesTotalPersec | Out-String

$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("Network Status:`n $out",0,"Done",0x1)

Или вы можете немного упростить это, просто передав данные в сетку.

Get-WmiObject -class Win32_PerfFormattedData_Tcpip_NetworkInterface | select name , BytesTotalPersec | Out-GridView

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...