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

1. Sanella_nt 13.09.16 04:34 Сейчас в теме
Здравствуйте, есть терминальный сервер 2008 R2 поднята AD пользователи работают через RemoteAPP, и есть необходимость запретить определённым пользователям запускать более двух БД 1С одновременно, народ как это можно реализовать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. AntoShiK86 33 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 Сейчас в теме
Спасибо, сегодня попробую.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот