Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] CMD батник в PS1

Ответить
Настройки темы
CMD/BAT - [решено] CMD батник в PS1

Пользователь


Сообщения: 52
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: Skylear
Дата: 29-10-2020
Добрый день коллеги. Имеем не совсем стандартную задачу, помогите разобраться. Есть программа (конкретно RdpGuard 6.7). Там есть функция уведомления. Нужно заставить приходить уведомления в телеграм.
модель работы такая:
в программе происходит вызов bat, ниже написаны аргументы (самой программы) типа ip-blocked %IP% %USER% %PROTOCOL%. вот именно эти аргументы нужно передать в PS1 скрипт
содержание батника такое:
Код: Выделить весь код
powershell  -file D:\Telegram\ps2s.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
Благодарности: 1

Профиль | Отправить PM | Цитировать


изменил скрипт теперь в итоге в батнике аргументы передаются в скрипт ps1, а вот из проги не могу передать...
Код: Выделить весь код
powershell  -file D:\Telegram\ps2s.ps1 1 2 3 4
Код: Выделить весь код
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
Благодарности: 1

Профиль | Отправить PM | Цитировать


коллеги решил вопрос, может кому пригодится.
в строке батника аргументы перечисляются так:
Код: Выделить весь код
powershell  -file D:\Telegram\ps2s.ps1 %1 %2 %3 %4
после этого из программы начинают работать указанные там аргументы

Отправлено: 19:06, 28-10-2020 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] CMD батник в PS1

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход