Как выгнать пользователей из 1С НЕ СРЕДСТВАМИ 1С #380335


#0 by igor13
Нужно выгнать пользователей из базы, например ночью, каким ни будь сторонним программным средством. Есть ли такое?
#1 by ТелепатБот
#2 by Aloex
Пользовательские компьютеры обесточивать на ночь.
#3 by ks_83
Напиши скрипт, который будет по ночам запускаться и вырубать процесс 1с.
#4 by Megas
Заходиш в кабинет где пользователи ночью работают! Наставляеш на них транклюкатор и говори "Пол часа всем лежать!" Ps Главное малиновые штаны одень ! ...
#5 by igor13
о скрипте я где-то слышал, может есть уже написанный кем ни будь?
#6 by Дуб
в терминалке? Тогда сеанс руби. Но вообще-то любое нештатное "выгоняние" чревато последствиями...
#7 by Андрюха
Палкой
#8 by igor13
днём в терминале - согласен, но ночью ...
#9 by Нуф-Нуф
если 8ку серверная - то помогает start "служба агента 1с" stop "служба агента 1с"
#10 by Salvador Limones
Да, есть. Даже ТелепатБот знает.
#11 by Нуф-Нуф
в батнике две строчки
#12 by КонецЦикла
alter database MyFuckingBase set SINGLE_USER with ROLLBACK IMMEDIATE go alter database MyFuckingBase with NO_WAIT go :)
#13 by igor13
спасибо, про остановку и запуск службы я в курсе, но если файловая база. вот здесь можно по подробней?
#14 by Дядя Васька
А после этого зовем админа убивать зависшие сесии :)
#15 by zdas
а если 1Ска ошибку выкинет у этих юзеров?
#16 by Нуф-Нуф
если база файловая - то батник которы
#17 by zdas
+15 и нужно будет нажать на кнопку "ок"
#18 by Дуб
длительность сеанса ограничь. Но, если v7, то вполне вероятны аварийные завершения с необходимостью реиндексации...
#19 by КонецЦикла
Угу Можно и процессы кильнуть, все равно кака может остаться :) Да еще какую!
#20 by Нуф-Нуф
если база файловая и юзается по сети - то запустить батник - который ребутнет службу, отвечающую за работу сети :). работоспособность этой идеи не проверял, но выглядит кошерно
#21 by Дуб
а почему, всё-таки, НЕ средствами 1С?
#22 by Iris-ocean
А почему же не средствами 1с ?
#23 by Iris-ocean
Можно же просто в глобальнике прописать в нужное время завершать работу и всё. Зачем изобретать велосипед?
#24 by Всеяд
Если совсем красиво и без ошибок - можно поизвращаться и чем-нить типа AutoIt по расписанию мышкой закрыть окно программы, утвердительно ответив на все вопросы.
#25 by Дядя Васька
Проблема наболевшая, так как у нас права половинчатые. У меня на скуль, у админа на папку с базой. Соответственно, если обоих на месте нет, аварийное завершение чревато остановкой конторы на продолжительный срок.
#26 by Iris-ocean
Дай пять :))
#27 by Дядя Васька
Прописали, не всегда срабатывает. Может какое-нить служебное сообщение висеть, могут мегаотчет запустить, и пока не отработает плевать она хотела на обработку ожидания.
#28 by Дуб
держи ;)
#29 by Майкопчанин
Дарю готовую реализацию. Запишешь эту хранимку в базу master, напишеь job, который по расписанию будет убивать всех пользователей. Переменным присвоишь свои значения. CREATE PROCEDURE dbo.Sp_DisconnectUser AS @Base = 'Bills' @MyPatch = 'D:1C%Vexel'     - % Для совместимости с длинными файлами. @All = 0  - не трогаем "Неприкасаемых" пользователей, 1 - выгоняем всех */ declare @UntouchablesUsers Table (Host varchar) Insert Into @UntouchablesUsers select Host from ReferenceBooks.dbo.Untouchables where Const = 1 AND DBName = @Base union select Host from ReferenceBooks.dbo.Untouchables where Const = 0 AND DBName = @Base AND GETDATE Between BeginDate and EndDate -- убивство скульных сессий Declare Victim Cursor For select Pro.spid from master.dbo.sysprocesses  Pro Inner join master.dbo.sysdatabases  DB where DB.name = @Base --where program_name = @Proga AND DB.name = @Base AND (@All=1 OR (@All<>1 AND hostname collate SQL_Latin1_General_CP1251_CI_AS NOT IN (Select Host from @UntouchablesUsers))) Declare @spid varchar   Open Victim Fetch Next From Victim Into @spid        Exec(@Command)        Fetch Next From Victim Into @spid    End -- Настала очередь файлов create Table #Strings (Field varchar(1000)) insert into #Strings exec master.dbo.xp_cmdshell 'net file' --declare @FileUsers Table (IdSession varchar, Files varchar(1000), Users varchar(1000)) Declare VictumFiles Cursor For Select Substring(Field,0,11) from #Strings where Field Like '%'+ @MyPatch + '%' AND (@All=1 OR (@All<>1 AND Substring(Field,52,12) not in (Select Host from @UntouchablesUsers))) Open VictumFiles Fetch Next From VictumFiles Into @IdSession        Fetch Next From VictumFiles Into @IdSession GO
#30 by YauheniL
Свитч на пару минут отключить Если 1С на терминалах висит: отключить сервер терминалов.
#31 by Дядя Васька
Респектище. Если еще и работает, цены ей нет :)
#32 by Shadd
юзай огонь и меч!
#33 by igor13
(21,22) потому как я уже умею Спасибо, буду разбираться (в SQL я не сильно).
#34 by Divemaster
У меня вот это работает: 'VBS. Cкрипт осуществляет отключение всех подключений к ИБ 1С:Предприятия v8.1. 'На сервере подразумевается наличие только одного кластера и только одного рабочего процесса 'имя пользователя 1С:Предприятия UserName = "Administrator" 'пароль пользователя 1С:Предприятия UserPass = "пароль" 'имя сервера 1С ServerName     =     "СерверБазы" 'Удаление всех соединений заданной ИБ сервера 1С For i = LBound(Connections) To UBound(Connections)
#35 by Parti
а один сразу подумал про "непрограммные" средства?:) бита, напряжение сети 220В к стулу, отравленный кофе...а то что-то засиделись пользователи за 1С, понимаешь!!}-<
#36 by igor13
Спасибо!
#37 by Divemaster
это не мне, это автору сего инструмента спасибо!
#38 by skunk
ты же просил не средствами 1С
#39 by igor13
(34,37) попутный вопрос: как я понял этот скрипт подходит для клиент-сервера, а для файловой базы подойдёт?
#40 by skunk
какие-то проблемы с запуском скрипта?
#41 by igor13
пока не разберусь как запускать скрипт - проблем нет
#42 by Odin1C
shutdown -r по всем пользовательским тачкам ровно в полночь
#43 by John83
<Напиши скрипт, который будет по ночам запускаться и вырубать процесс 1с.> написал я подобный, только что-то мне кажется, что нифига не выгоняет, только в проблеме еще не разбирался, все лень после работы себя заставить...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С