|
|
|
Как прибить сеансы пользователей? | ☑ | ||
|---|---|---|---|---|
|
0
deep_amnesia
03.10.06
✎
17:40
|
Здравствуйте!
Подскажите пожалуйста, как прибить сеансы пользователей, которые подключаются через терминал к серверу. Перед окончанием рабочего дня, многие забывают завершить своего клиента и он болтается всю ночью, с открытым 1С. Какие есть варианты действий? Угрозы физической расправы не предлагайте, не помогает. :) Нужно для того, чтобы делать архив. Заранее спасибо! |
|||
|
1
ado
03.10.06
✎
17:44
|
Настроить клиентские соединения с запуском одной программы. Тогда при завершении программы завершается сеанс. А еще есть диспетчер служб терминалов.
|
|||
|
2
Andrey_Kharkiv
03.10.06
✎
17:46
|
1) В глобальнике написать выгонялку
Процедура Выгонялка() Экспорт Если Константа.Завершить=1 Тогда Сигнал(); Нафиг=нафиг+1; ост=Константа.КвоМинут-нафиг; Предупреждение("Уважаемый(ая) "+ПолноеИмяПользователя()+" будьте добры закрыть систему 1С:Предприятие! |Внимание! : СОХРАНИТЕ ДОКУМЕНТЫ : через "+ост+" мин. произойдет автоматическое закрытие системы.",10); Если ост = 0 Тогда ЗавершитьРаботуСистемы(0); КонецЕсли; КонецЕсли; КонецПроцедуры // Выгонялка ее вызывать через обработку ожидания 2) отключать в лоб используя например программу Killwatcher |
|||
|
3
Дмитрий_
пользователь 03.10.06
✎
17:51
|
1) К у самых забывчивых предоставить себе терминальный доступ.
2) Написать в конфе, что бы при определенном значении чего-нибудь, предположим константы, сеанс после предупреждения или вопроса с разумным таймоутом звершался. |
|||
|
4
deep_amnesia
03.10.06
✎
17:52
|
извиняюсь, а что за обработка ожидания и как этот веселый код :) запустить допустим в 11-часов вечера, если в этот момент открыта 1С?
|
|||
|
5
Andrey_Kharkiv
03.10.06
✎
17:57
|
ОбработкаОжидания(<?>,)
Синтаксис: ОбработкаОжидания(<ИмяПроцедуры>,<ИнтервалВызова>) Назначение: Инициирует периодический вызов процедуры глобального модуля с заданным интервалом времени. т.е. выгонялка будет периодически вызываться, в данном случае напр. 60 секунд ОбработкаОжидания("Выгонялка",60); // при открытии глобальника пишешь + надо завести константу "Константа.КвоМинут" ставишь ее в значение времени напр 10 минут и через 10 минут всех выкидывает, главное чтобы они не сидели в модальных окнах, но этих ты вручную "того" :) Удачи! |
|||
|
6
smaharbA
03.10.06
✎
19:36
|
(2)(3) Здорово...!???
|
|||
|
7
DimSpirt
03.10.06
✎
19:40
|
Ну и я плюну, диспетчер задач\вкладка пользователи, далее по желанию
|
|||
|
8
Создаватель Объектов
04.10.06
✎
08:12
|
Самое простое, когда юзеры забывают выйти из программ 1С - не важно - терминал, не терминал - пофиг, если надо чтото важное делать ночью автоматом монопольно и если баз 1Совских много и никого нет на предприятии, не надо ничего писать ни в каких глобальниках-пофигальниках, а сделать СЛЕДУЮЩЕЕ:
в шедулере на сервере прописать перезагрузку сервера в 24-00 (например), перед архивацией или перед роботом и т.п.... и серверу хорошо и юзеры от 1С отваляться. |
|||
|
9
Obed
04.10.06
✎
08:21
|
+(8)
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] "DefaultDomainName"="MyServer" "DefaultUserName"="Администратор" "LegalNoticeCaption"="" "LegalNoticeText"="" "forceunlocklogon"=dword:00000000 "AltDefaultUserName"="Администратор" "AltDefaultDomainName"="MyServer" "AutoAdminLogon"="1" "CachePrimaryDomain"="MyServer" "DefaultPassword"="ПарольАдмина" "Welcome"="Превед, админчег!" эту батву в reg файл и ентер по этому файлу |
|||
|
10
ASV
04.10.06
✎
08:23
|
может еще пароли на шифрованные диски в реестр ввести
|
|||
|
11
Obed
04.10.06
✎
08:25
|
(10) Обязательно, без этого никак :)
|
|||
|
12
VasilyKushnir
04.10.06
✎
09:26
|
С помощью nnСron (для жителей бывшего СССР - халява) Каждую ночь в 00:15 у меня выполняется следующее
#( 1c_copy AsLoggedUser Time: 15 0 * * * * Action: // Вот здесь собственно я и убиваю все процессы 1С, а дальше спойно //переиндексирую, коприрую и архивирую. Как видишь, минимум знаний // Форт и все чики-чики. BEGIN KILL: "1cv7.exe" PROC-EXIST: "1cv7.exe" NOT UNTIL FILE-DELETE: "D:\FARMACEYA\*.cdx" StartIn: "C:\1Cv77\bin" ShowNormal NormalPriority START-APPW: C:\1Cv77\BIN\1cv7.exe enterprise /d D:\FARMACEYA\ /NVasily /PZorge /m StartIn: "C:\Program Files\nnBackup" ShowNormal NormalPriority START-APPW: C:\Program Files\nnBackup\nnbackup.exe copy -log log\copy_arh.log -i D:\Farmaceya -o \\server2004\Pharmacia\ -p -s -v StartIn: "C:\Program Files\nnBackup" ShowNormal NormalPriority START-APPW: C:\Program Files\nnBackup\nnbackup.exe copy -log log\copy_arh.log -i D:\Farmaceya -o \\server2004\1c_save\ -p -s -v StartIn: "C:\Arc" ShowNormal NormalPriority START-APPW: rar a -r -agDDMMYY -m5 -ed -ep2 -inul -mdg -t -x*.cdx -x*.tmp f:\1CCopy\2006\farmaceya D:\FARMACEYA\ GET-CUR-TIME MSG: "Копирование выполнено в %hh%:%mm%:%ss%" )# |
|||
|
13
smaharbA
04.10.06
✎
09:31
|
(12) а без крона никак ?
|
|||
|
14
skunk
04.10.06
✎
09:32
|
самое просто шелудером сделать выключить/включить сетевую карту... после чего очистить SQL, если юзается скульная база, ...
|
|||
|
15
skunk
04.10.06
✎
09:33
|
для дбф переиндексировать....
|
|||
|
16
gr13
04.10.06
✎
09:41
|
рестартануть сервер;)
|
|||
|
17
gr13
04.10.06
✎
09:42
|
(14) а еще можно просто убрать расшаривание папки... интересно можно это сделать программно)
и как программно очистить SQL, на предмет одного или 2 висящих подключенных пользователей? |
|||
|
18
IMHO
04.10.06
✎
09:44
|
(5)главное чтобы они не сидели в модальных окнах, но этих ты вручную "того"
по ночам кто то на работе сидит с админскими правами на домен контроллер? (8) а от этого я вообще фигею, на кой ляд сервер то перегружать? а если кто там делает чего? никому в голову не приходит поставить в шедулер на рабочих станциях батник чтобы комп гасил, или шатдаунер поставить коих полно. |
|||
|
19
bse
04.10.06
✎
09:46
|
в шедулер
rem *** закрываем 1с, Word, Excel *** tskill *1Cv7* /a /v tskill *Excel* /a /v tskill *WinWord* /a /v rem ***************************************** а потом ... |
|||
|
20
bse
04.10.06
✎
09:47
|
отключаем сесии:
net session /delete /yes |
|||
|
21
bse
04.10.06
✎
09:48
|
(19) для терминала
(20) для сетевых подключений |
|||
|
22
gr13
04.10.06
✎
09:51
|
(19) при таком отключении могут остаться пользователи, подключенные к sql sever'у, как отключить их?
объясню, у меня бывает такое приходишь утром, делаешь регламентные операции (загрузка выгрзка поведение, удаление) в монопольном режиме. отрубаешь пользоватлей, после этого пытаешься запустить в монопольном режиме систему- бесполезно отруб. Заходишь в Enterprise Manager и делаешь Detach и видим, что к системе подключены пользователи, нажимаем Clear, и все летает (отключать не нада) а как это сделать программно? |
|||
|
23
gr13
04.10.06
✎
09:51
|
(21) читай 22
|
|||
|
24
VasilyKushnir
04.10.06
✎
09:51
|
>никому в голову не приходит поставить в шедулер на рабочих станциях батник чтобы комп гасил, или шатдаунер поставить коих полно.
так комп бывает и так погашен - некорое вырубают комп без выхода из 1С и оключенияя от сервера (хотя последнее времмя у нас эти факты становятся редкостью). А чем крон не нравится (он и есть своего рода шедулер, тока покруче стандартного)? Все предельно просто и понятно. Между прочим из кроновского файла я показал только одно задание, а у меня их там туева хуча с разными параметрами запуска и действиями. При необходимости окажу любую консультативную помощь (мыло открыто). |
|||
|
25
gr13
04.10.06
✎
09:54
|
(24) у меня так и до меня делалось и сейчас новый админ также сделал, я не понимаю зачем сервер перегружать и возникают вопросы, о котоырх спрашиваю
|
|||
|
26
IMHO
04.10.06
✎
09:55
|
(24) за три месяца работы заметил только раз такое чтобы комп был вырублен,
а сессия висела. |
|||
|
27
Dusyaya
04.10.06
✎
09:56
|
Можно и с помощью nnCron, но ведь можно и проще - терминал ведь. поставь ограничение на длительность активного и бездействующего сеанса, чтобы сеанс завершался автоматом :)
|
|||
|
28
smaharbA
04.10.06
✎
09:57
|
Я на вас удивляюсь...(с)
|
|||
|
29
gr13
04.10.06
✎
09:58
|
(27) блин, а как завершить Connections using this database? там висит один или 2 пользователя, и при таком завершении, как Вы предлагаете он не завершается
|
|||
|
30
VasilyKushnir
04.10.06
✎
10:04
|
>Можно и с помощью nnCron, но ведь можно и проще - терминал ведь. поставь ограничение на длительность активного и бездействующего сеанса, чтобы сеанс завершался автоматом
А как ты думаешь, я это не пробовал? Не всегда это срабатывало. Уже точно не помню, но ситуация вроде следующая(как мне показалось): для юзера при коннекте взводится таймер или счетчик для контроля сеанса, при дисконекте должен по идее сбрасыватся и устанавливатся для новой сессии. А вот если сессия завершилась аварийно, то фиг фам бабушка, а не черешень - и висеть сессия будет до втопого пришествия... |
|||
|
31
gr13
04.10.06
✎
10:06
|
(30) угу( но это будет не всегда, следовательно самое надежное это перегруз?
|
|||
|
32
smaharbA
04.10.06
✎
10:06
|
(30) Да ну ?
|
|||
|
33
skunk
04.10.06
✎
10:18
|
sp_detach_db
Detaches a database from a server and, optionally, runs UPDATE STATISTICS on all tables before detaching. Syntax sp_detach_db [ @dbname = ] 'dbname' [ , [ @skipchecks = ] 'skipchecks' ] Arguments [@dbname =] 'dbname' Is the name of the database to be detached. dbname is sysname, with a default value of NULL. [@skipchecks =] 'skipchecks' skipchecks is nvarchar(10), with a default value of NULL. If true, UPDATE STATISTICS is skipped. If false, UPDATE STATISTICS is run. This option is useful for databases that are to be moved to read-only media. Return Code Values 0 (success) or 1 (failure) Result Sets None Remarks The detached files remain and can be reattached using sp_attach_db or sp_attach_single_file_db. The files can also be moved to another server and attached. Permissions Only members of the sysadmin fixed server role can execute sp_detach_db. Examples This example detaches the pubs database with skipchecks set to true. EXEC sp_detach_db 'pubs', 'true' |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |