|
BAT файл закрытия 1с | ☑ | ||
---|---|---|---|---|
0
picom
31.05.13
✎
09:14
|
Нужно написать файл, который бы закрывал 1с (снимал задачу) только у текущего пользователя сервера терминалов.
Есть такое уже реализованное? |
|||
1
vicof
31.05.13
✎
09:20
|
taskkill?
|
|||
2
Fish
31.05.13
✎
09:23
|
(0) Пользователи не умеют закрывать 1С?
|
|||
3
picom
31.05.13
✎
12:49
|
(2) ни любят в один документ всей толпой заходить
|
|||
4
Alterife
31.05.13
✎
13:04
|
(3) А чого это 1С закрывать? В таких случаях надо весь сервак гасить нахрен! Шоб знали!
|
|||
5
picom
31.05.13
✎
13:08
|
(4) Есть другой способ ) ?
|
|||
6
dk
31.05.13
✎
13:10
|
а зачем у текущего-то?
юзеры сами будут жмакать кнопку "Убейте меня"? |
|||
7
Grobik
31.05.13
✎
13:13
|
Внешняя обработка ЗавершениеРаботыПользователей
|
|||
8
picom
31.05.13
✎
14:28
|
(6) да
(7) И как юзер себя закроет если 1с уже в нирване ? |
|||
9
Fish
31.05.13
✎
14:29
|
(3) И что в этом плохого? 1С всё равно даст редактировать док только одному, а остальные обломятся.
|
|||
10
Ковычки
31.05.13
✎
18:48
|
@set @x=0;/*
echo off set name=1cv7s.exe cscript /e:javascript //nologo "%~0" "%name%" "%username%" exit /b */ var y; var x=new Enumerator(GetObject('winmgmts://./root/cimv2').ExecQuery('select * from win32_process where name="'+WScript.Arguments.item(0)+'"')); for(;!x.atEnd();x.moveNext()) if(x.item().ExecMethod_("GetOwner").User.toLocaleLowerCase()==WScript.Arguments.item(1).toLocaleLowerCase()) { //x.item().Terminate(0); WScript.Echo(x.item().processid); } а так см (1) |
|||
11
sdv2000
31.05.13
✎
21:41
|
(10) ну ты монстр
|
|||
12
Dionis Sergeevich
31.05.13
✎
21:54
|
(10) Это.. Респектище. Яву к сценариям.. Прям как в баше с сями.
|
|||
13
minsk1s
31.05.13
✎
21:57
|
||||
14
Ковычки
31.05.13
✎
22:04
|
иногда полезно
@set @x=0;/* echo off for /f "delims=" %%x in ('cscript /e:javascript //b "%~0"') do ( %%x ) if not defined DISPLAYAVAILWIDTH set DISPLAYAVAILWIDTH=1024 if not defined DISPLAYAVAILHEIGHT set DISPLAYAVAILHEIGHT=738 set /a DISPLAYAVAILWIDTH=%DISPLAYAVAILWIDTH% - 16 set /a DISPLAYAVAILHEIGHT=%DISPLAYAVAILHEIGHT% - 28 set ip=адрес set user=имя set pass=пароль set vpn=впн set title=%vpn% %date:/=.% set rdp=адресрдпчерезвпн set rdpTemp=%temp%\%title%-%RANDOM%.rdp rasdial %vpn% /disconnect > nul 2>&1 ping -n 2 127.0.0.1 > nul rasdial %vpn% %user% %pass% && ( ping -n 1 127.0.0.1 > nul echo screen mode id:i:1 > "%rdpTemp%" echo desktopwidth:i:%DISPLAYAVAILWIDTH% >> "%rdpTemp%" echo desktopheight:i:%DISPLAYAVAILHEIGHT% >> "%rdpTemp%" echo session bpp:i:16 >> "%rdpTemp%" echo winposstr:s:0,0,0,0,%DISPLAYAVAILWIDTH%,%DISPLAYAVAILHEIGHT% >> "%rdpTemp%" type "%~dpn0.rdp" | findstr /v /i "desktopwidth:" | findstr /v /i "desktopheight:" | findstr /v /i "winposstr:" | findstr /v /i /c:"screen mode id:" | findstr /v /i /c:"session bpp:" >> "%rdpTemp%" start "" /wait /max mstsc "%rdpTemp%" rem /w:%DISPLAYAVAILWIDTH% /h:%DISPLAYAVAILHEIGHT% del /q "%rdpTemp%" ) || ( color 04 echo. echo ************************* echo *!!!НЕТ СВЯЗИ С %vpn%!!!* echo ************************* echo. pause ) exit /b */ var ie; var DisplayWidth = 0; var DisplayHeight = 0; var DisplayAvailWidth = 0; var DisplayAvailHeight = 0; var wshshell; var documentd; var VideoController; try { wshshell=new ActiveXObject("wscript.shell"); document=new ActiveXObject("htmlfile"); } catch(e) { ie=new ActiveXeObject("InternetExplorer.Application") ie.visible=false; ie.Navigate("about:blank"); while (ie.ReadyState<4) { WScript.Sleep(100); } document=ie.document; } DisplayWidth = document.parentWindow.screen.width; DisplayHeight = document.parentWindow.screen.height; DisplayAvailWidth = document.parentWindow.screen.availWidth; DisplayAvailHeight = document.parentWindow.screen.availHeight; if (ie) ie.Quit(); if (DisplayHeight==0) { try { VideoController=GetObject("winmgmts://./root/cimv2:Win32_VideoController.DeviceID='VideoController1'"); DisplayWidth = VideoController.CurrentHorizontalResolution; DisplayHeight = VideoController.CurrentVerticalResolution; DisplayAvailWidth = VideoController.CurrentHorizontalResolution; DisplayAvailHeight = VideoController.CurrentVerticalResolution; } catch(e) { } } if (DisplayHeight==0) { DisplayWidth = 1024; DisplayHeight = 768; } if (DisplayAvailHeight==0) { DisplayAvailWidth = 1024; DisplayAvailHeight = 738; } var env=wshshell.environment("USER"); env.item("DISPLAYWIDTH")=DisplayWidth; env.item("DISPLAYHEIGHT")=DisplayHeight; env.item("DISPLAYAVAILWIDTH")=DisplayAvailWidth; env.item("DISPLAYAVAILHEIGHT")=DisplayAvailHeight; WScript.StdOut.WriteLine("SET DISPLAYWIDTH=" + DisplayWidth); WScript.StdOut.WriteLine("SET DISPLAYHEIGHT=" + DisplayHeight); WScript.StdOut.WriteLine("SET DISPLAYAVAILWIDTH=" + DisplayAvailWidth); WScript.StdOut.WriteLine("SET DISPLAYAVAILHEIGHT=" + DisplayAvailHeight); |
|||
15
Ковычки
31.05.13
✎
22:06
|
так то еще вышиваю на машинке, курю и пью как собака.
|
|||
16
Dionis Sergeevich
31.05.13
✎
22:13
|
(15) в общем в консоли выполняешь яву которая юзая винапи делает то что душе угодно? Круто
|
|||
17
Dionis Sergeevich
31.05.13
✎
22:14
|
Жаль нельзя сишку подключить - придется яву учить
|
|||
18
Dionis Sergeevich
31.05.13
✎
22:14
|
вообще ява штука универсальная... давно надо было
|
|||
19
Ковычки
31.05.13
✎
22:16
|
(16) винапи не прикрутить без обертки, а вот джабускрипт да (с оберткой и винапи), с вбскриптом несколько муторнее, но реализуемо
|
|||
20
VasilyKushnir
31.05.13
✎
23:19
|
Можно в nnCron задание прописать
BEGIN KILL: "1cv7.exe" PROC-EXIST: "1cv7.exe" NOT UNTIL Ужаляет все запущенные 1cv7.exe |
|||
21
Ковычки
31.05.13
✎
23:20
|
(20) текущего ?
|
|||
22
Ковычки
31.05.13
✎
23:22
|
по сабжу реальная проблема существует
тасккилл не всегда по воле (не взирая на всю толерантность админа) |
|||
23
Jump
31.05.13
✎
23:23
|
(20)Используешь nnCron? Как по стабильности в новых виндах не подскажешь? Нет проблем?
А то на офсайте он давно не обновлялся как-то. |
|||
24
Ковычки
31.05.13
✎
23:23
|
а уж wmic process call getowner | find /I "%username%" не доступен по обыденности
|
|||
25
VasilyKushnir
31.05.13
✎
23:24
|
(21) Текущего пользователя имеешь в виду? Всех! Я эту байду на сервере запускал (все юзеры в терминалке и имели дурную привычку не закрывать 1С)
|
|||
26
VasilyKushnir
31.05.13
✎
23:25
|
(23) Да , на 2008 сервере есть проблемка. Разработчики кинули версию для отладки - выйду с отпуска, буду тестить.
|
|||
27
Ковычки
31.05.13
✎
23:31
|
(25) решается
|
|||
28
Ковычки
31.05.13
✎
23:31
|
у мене наконец самый два 2012 - теперь могу как все )
|
|||
29
Jaap Vduul
31.05.13
✎
23:46
|
На старших виндах powershell рулит:
get-wmiObject -class "win32_process" -filter "Name='1cv7.exe'" -computerName $serverName | where { $_.getOwner().user -eq $userName } | foreach { $_.terminate() } |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |