1. Sanella_nt 13.09.16 04:34 Сейчас в теме

Запрет запуска более одной службы 1С

Здравствуйте, есть терминальный сервер 2008 R2 поднята AD пользователи работают через RemoteAPP, и есть необходимость запретить определённым пользователям запускать более двух БД 1С одновременно, народ как это можно реализовать?
Ответы
Сортировка: Древо
2. AntoShiK86 13.09.16 05:42 Сейчас в теме
В интернетах есть вариант сделать vbs скрипт который, будет будет проверять что уже запущена программа этим пользователем, сообщая об этом, либо запускать программу. На этот скрипт сделать уже ремутАПП. Позволю себе процитировать его:

Set oShell = CreateObject( "WScript.Shell" )
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("SEL ECT * FR OM Win32_Process Where Name LIKE 'program.exe'")
For Each objProcess in colProcessList
colProperties = objProcess.GetOwner(strNameOfUser,strUserDomain)
if (strNameOfUser = oShell.ExpandEnvironmentStrings("%UserName%")) then
msgbox("Не следует запускать одну и ту же программу по несколько раз, нужно один раз нажать на ярлык и подождать, пока она запустится. Проявите терпение." ,16, "Внимание!!!")
Wscript.Quit
end if
Next
Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("""C:\Program Files (x86)\program\program.exe""")
Set objShell = Nothing
Wscript.Quit
Показать


Кроме того на сайте есть инструкция и вариант, для ограничения 2мя копиями. (сайт не мой)

Set oShell = CreateObject( "WScript.Shell" )
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("SELECT * FR OM Win32_Process Wh ere Name LIKE 'program.exe'")
For Each objProcess in colProcessList
colProperties = objProcess.GetOwner(strNameOfUser,strUserDomain)
if (strNameOfUser = oShell.ExpandEnvironmentStrings("%UserName%")) then
msgbox("Не следует запускать одну и ту же программу по несколько раз, нужно один раз нажать на ярлык и подождать, пока она запустится. Проявите терпение." ,16, "Внимание!!!")
Wscript.Quit
end if
Next
Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("""C:\Program Files (x86)\program\program.exe""")
Set objShell = Nothing
Wscript.Quit
Показать

https://crazysysadmin.ru/remoteapp-ogranichenie-na-kolichestvo-odnovremennyx-sessij-ot-odnogo-polzovatelya.html
3. Sanella_nt 13.09.16 06:27 Сейчас в теме
Спасибо, сегодня попробую.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии


Программист 1С-проектов / Консультант 1С
Ульяновск
зарплата от 60 000 руб. до 120 000 руб.
Полный день

Удаленный консультант-разработчик 1С
Краснодар
зарплата от 60 000 руб. до 60 000 руб.
Полный день