Мне нужна возможность отправлять «Стилизованное сообщение оповещения» на определенный компьютер в домене.
Проблема 1:
В настоящее время у меня есть следующие оповещения и еслиЯ запускаю его из Powershell, я получаю всплывающее окно именно так, как я хочу.Если я запускаю его вне POwershell), щелкните правой кнопкой мыши, запустите с POwershell ISE), он ничего не делает.
Вот код, который у меня есть для этой части:
$ALERT = {Please contact the I.T. Help Desk @EXT 777.
Reference ERROR CODE: 910978
}
$MYALERT = [System.Windows.Forms.MessageBox]::Show("$ALERT ","I.T.
DEPARTMENT ALERT !", "ok","Warning”)
$MYALERT
Проблема 2:
Я хочу иметь возможность запросить у пользователя имя компьютера и отправить предупреждение на этот конкретный компьютер.Я не могу заставить это работать вообще ... хотя это работало один раз, изнутри powershell, но после запуска его вне powershell это больше никогда не работало.Тем не менее, запуск внешнего PowerShell не работал вообще.
Вот код, который у меня есть для этой части:
cls
echo ""
echo ""
$name = read-host "Enter computer name "
$ALERT = {Please contact the I.T. Help Desk @EXT 777.
Reference ERROR CODE: 910978
}
$MYALERT = {
[System.Windows.Forms.MessageBox]::Show("$ALERT ","I.T. DEPARTMENT ALERT !",
"ok","Warning”)
}
Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList $MYALERT -
ComputerName $name
pause
cls
echo ""
echo " Message Sent. Returning to Main Menu"
cls
EXIT
Да, но я получаю следующий вывод в окне консоли:
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 2
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ProcessId :
ReturnValue : 9
PSComputerName :
ПРИМЕЧАНИЕ. На самом деле я не хочу отправлять коды ошибок таким образом, просто набираю что-то в качестве примера.Я хочу использовать это для отправки сообщения на определенный компьютер в домене, чтобы оно отображалось поверх любых открытых окон и отображалось как предупреждение, а не как сообщение от пользователя.
ТакжеПохоже, что для ПРОБЛЕМЫ # 1 добавление «Add-Type -AssemblyName System.Windows.Forms» вверху позволяет это работать за пределами Powershell.Однако после добавления того же самого для ПРОБЛЕМЫ №2 это все равно не работает.
Я подозреваю, что это может иметь какое-то отношение к работе с моим локальным логином, потому что я вошел в систему, но что-то мешает мнеожидая это на удаленной машине.
Есть идеи, что я делаю не так?
Заранее спасибо!