|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] CMD батник в PS1 |
|
CMD/BAT - [решено] CMD батник в PS1
|
Пользователь Сообщения: 52 |
Добрый день коллеги. Имеем не совсем стандартную задачу, помогите разобраться. Есть программа (конкретно RdpGuard 6.7). Там есть функция уведомления. Нужно заставить приходить уведомления в телеграм.
модель работы такая: в программе происходит вызов bat, ниже написаны аргументы (самой программы) типа ip-blocked %IP% %USER% %PROTOCOL%. вот именно эти аргументы нужно передать в PS1 скрипт содержание батника такое: содержание скрипта ps такое: param( [string]$chat_id = $("-XXXXXXXXXX"), [string]$text = $("ip-blocked %IP% %USER% %PROTOCOL%"), [switch]$markdown, [switch]$nopreview ) $token = "XXXXXXXXX:99999999999XXXXXXXXXXXXXX00000000000" if($nopreview) { $preview_mode = "True" } if($markdown) { $markdown_mode = "Markdown" } else {$markdown_mode = ""} $payload = @{ "chat_id" = $chat_id; "text" = $text "parse_mode" = $markdown_mode; "disable_web_page_preview" = $preview_mode; } [Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls" Invoke-WebRequest ` -Uri ("https://api.telegram.org/bot{0}/sendMessage" -f $token) ` -Method Post ` -ContentType "application/json;charset=utf-8" ` -Body (ConvertTo-Json -Compress -InputObject $payload) ip-blocked %IP% %USER% %PROTOCOL% переменные не отрабатывают. подскажите как реализовать |
|
Отправлено: 18:14, 28-10-2020 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать изменил скрипт теперь в итоге в батнике аргументы передаются в скрипт ps1, а вот из проги не могу передать...
param($p1, $p2, $p3, $p4, [string]$chat_id = $("-XXXXXXXXXX"), [string]$text = $("$p1, $p2, $p3, $p4"), [switch]$markdown, [switch]$nopreview ) $Script:args="" write-host "Num Args: " $PSBoundParameters.Keys.Count foreach ($key in $PSBoundParameters.keys) { $Script:args+= "`$$key=" + $PSBoundParameters["$key"] + " " } write-host $Script:args $token = "XXXXXXXXX:99999999999XXXXXXXXXXXXXX00000000000" if($nopreview) { $preview_mode = "True" } if($markdown) { $markdown_mode = "Markdown" } else {$markdown_mode = ""} $payload = @{ "chat_id" = $chat_id; "text" = $text "parse_mode" = $markdown_mode; "disable_web_page_preview" = $preview_mode; } [Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls" Invoke-WebRequest ` -Uri ("https://api.telegram.org/bot{0}/sendMessage" -f $token) ` -Method Post ` -ContentType "application/json;charset=utf-8" ` -Body (ConvertTo-Json -Compress -InputObject $payload) |
Отправлено: 18:42, 28-10-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать |
Отправлено: 19:06, 28-10-2020 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - [решено] скрипты PS1 через GPO | dahiko | Windows Server 2008/2008 R2 | 3 | 02-08-2015 19:44 | |
CMD/BAT - [решено] Помогите написать батник Пароль на CMD | galaxy_pirat@vk | Скриптовые языки администрирования Windows | 3 | 11-10-2013 16:34 | |
2008 R2 - [решено] posh: new-aduser ps1 convert-to-html | nokogerra | Windows Server 2008/2008 R2 | 3 | 07-10-2013 07:36 | |
CMD/BAT - Нажатие клавиши F5 через батник или cmd. | usbdrive | Скриптовые языки администрирования Windows | 1 | 22-10-2011 01:33 | |
Служба и PS1 | Heretic_spb | Microsoft Windows 2000/XP | 0 | 11-12-2006 13:24 |
|