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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Как вычислить параметр командной строки?

Ответить
Настройки темы
VBS/WSH/JS - Как вычислить параметр командной строки?

Новый участник


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

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


Суть. Нужно сделать, чтобы скрипт определял запущены ли регламентные задания в 1с в отдельном процессе и если не запущен то предупреждал пользователя и высылал письмо на почту. Проблема в том, что у самой 1с и регламентного задания процессы одинаковые и нужно определить по параметры командной строки. Скрипт выводит содержимое CommandLine, там есть параметр DoscheduledJobs. Подскажите как написать условие проверки, если есть данный параметр DoscheduledJobs, то делаю то то, если нет то делаем то?

Скрипт на js.

var PsWMI, PsProcesses1, PsProcess1, PsList1, Mess1;
var vbCritical=16;

//Создаем экземпляр объекта WshShell
var WshShell = WScript.CreateObject("WScript.Shell");

//Включаем обработку исключительных ситуаций
try {
//Соединяемся с WMI
PsWMI=GetObject("winMgmts:");
}

//Начинаем обработку возможных ошибок
catch (e) {
if (e!=0) {
Mess ="Ошибка\nКод ошибки: " + err.Number;
WshShell.Popup(Mess,0,"Запущенные прoцеccы",vbCritical);
WScript.Quit();
}
}

//Создаем кoллeкцию всех работающих процеccoв
PsProcesses1=new Enumerator(PsWMI.ExecQuery("SELECT * FROM Win32_Process where name='1cv8c.exe'"));
PsList1="Зaпущенныe прoцеccы\n\n";

//Цикл для перебора коллекции
while (!PsProcesses1.atEnd()) {
PsProcess1=PsProcesses1.item ();
PsList1+=PsProcess1.Name + " " + PsProcess1.ProcessID + "\n"+PsProcess1.CommandLine ;
PsProcesses1.moveNext();


}
//Выводим кoллeкцию процеccов и их идентификаторов
WScript.Echo(PsList1);

Либо может кто подскажет как в vbs это можно было бы реализовать было бы лучше.

Уже есть рабочий скрипт, но я тут только проверку процесса могу сделать, но это не подходит в данном случае. А как с параметром командной строки поступить даже не знаю(((

set service = GetObject ("winmgmts:")

for each Process in Service.InstancesOf ("Win32_Process")
If Process.Name = "1cv8.exe" then
wscript.quit
End If
next

Dim o_Mess, v_Conf
v_Conf = "http://schemas.microsoft.com/cdo/configuration/"
Set o_Mess = CreateObject("CDO.Message")
With o_Mess
.To = "почта" 'куда отправляем
.From = "имя <почта>" 'имя отправителя + Email
.Subject = "Остановлено обновление 1С" 'Тема письма
.TextBody = "Необходимо уведомить администратора салона" 'Сообщение
' .AddAttachment "C:\data.log" 'Прикрепить файл
.TextBodyPart.Charset = "windows-1251" 'русская кодировка
With .Configuration.Fields
.Item(v_Conf & "sendusing") = 2 'без использования каталога Server Exchange
.Item(v_Conf & "smtpserver") = "smtp.yandex.ru" 'Адрес SMTP-сервера
.Item(v_Conf & "smtpauthenticate") = 1 'Тип авторизации
.Item(v_Conf & "sendusername") = "почта" 'здесь имя пользователя без @
.Item(v_Conf & "sendpassword") = "" 'пароль
.Item(v_Conf & "smtpserverport") = 465 'порт (альтернативный - 465)
.Item(v_Conf & "smtpusessl") = True 'использовать ли шифрованое подключение SSL
.Item(v_Conf & "smtpconnectiontimeout") = 60 'Время до завершения повторных попыток подключения
.Update
End With
.send
End With
Set o_Mess = Nothing

MsgBox "НЕ ЗАПУЩЕН ОБМЕН 1С, СРОЧНО ЗАПУСТИТЬ!!!", 0, "ВНИМАНИЕ!"

Отправлено: 12:08, 07-04-2015

 

Ветеран


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

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


Цитата SharkX58:
Скрипт выводит содержимое CommandLine, там есть параметр DoscheduledJobs. »
Покажите, как оно выглядит, это самое содержимое для искомого процесса.

Отправлено: 15:57, 07-04-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


Изображения
Тип файла: jpg 1с.jpg
(75.2 Kb, 7 просмотров)

Вот.

Отправлено: 06:27, 08-04-2015 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Как вычислить параметр командной строки?

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - [решено] Запуск командной строки от имени Администратора из командной строки emcee Microsoft Windows 8 и 8.1 12 06-05-2023 07:36
CMD/BAT - запуск командной строки от имени администратора из командной строки jah Скриптовые языки администрирования Windows 18 19-09-2015 08:59
CMD/BAT - как перевести на язык командной строки rocet Скриптовые языки администрирования Windows 0 04-02-2014 12:39
2010 - [решено] недопустимый аргумент командной строки. проверьте используемый параметр Ripping Corpse Microsoft Office (Word, Excel, Outlook и т.д.) 4 21-05-2013 16:09
Разное - [решено] как установить принтер с командной строки? pva Microsoft Windows 2000/XP 1 15-02-2010 14:05




 
Переход