воскресенье, 19 мая 2013 г.

Сброс пароля 1С 8.2 или 8.3

Сброс пароля 1С 8.2 или 8.3 может потребоваться, если по каким-то причинам админский доступ был утрачен. Надо сказать, что сброс пароля 1С с базой под SQL Server выполняется даже проще, чем в файловом варианте.
Единственным условием успешного выполнения процедуры сброса пароля 1С Предприятия 8.2/8.3 является доступ в консоль Microsoft SQL сервера.

Перед выполнением процедуры сброса пароля 1С обязательно сделайте резервную копию базы данных.

Где 1С хранит данные о паролях

1С:Предприятие 8.2/8.3 хранит информацию о паролях в двух местах:
  1. В таблице БД v8users.
  2. В файле users.usr. Файл бинарно сохранен в таблице Params.
Учтите, что пароли хранятся не в открытом виде, а в виде хэш кодов. Это несимметричный алгоритм шифрования без возможности обратного восстановления. Поэтому зайти и задать где-то в конкретном поле новый пароль не получится.
Не пытайтесь стирать вообще всю инфу из полей с паролями. Они не бывают пустыми.

Как получить админский доступ в 1С без пароля

Основная идея в том, что, если при загрузке базы 1С:Предприятия не будет обнаружен ни один пользователь, то вошедший получит максимальные права. При этом, формирование списка доступных привилегий 1С  выполняет только на входе и больше к ним не обращается.
Кстати: именно по причине проверки привилегий только на входе, при изменении прав доступа пользователей, новые параметры вступают в силу только после повторной авторизации пользователя.

Шаг 1. Переименовываем таблицу v8users и файл users.usr

Перед входом в базу данных, куда требуется получить доступ, переименуем таблицуv8users в v8users_tmp. Так же переименуем файл users.usr в users.usr_tmp.
Откроем Management Studio.
Создаем новый запрос к БД:
?
1
2
3
4
5
6
7
8
USE [your_database]
GO
EXEC sp_rename 'v8users', 'v8users_tmp'
GO
UPDATE [Params]
SET [FileName] = 'users.usr_tmp'
WHERE [FileName] = 'users.usr'
GO
Идентификатор «your_database» замените на идентификатор своей базы 1С.
И запускаем его: F5 или иконка с восклицательным знаком.

Шаг 2. Вход в 1С:Предприятие в режиме конфигуратора

Открываем 1С в режиме конфигуратора. При входе ни пользователя ни пароля запрошено не будет. База откроется с полными правами.
Имейте в виду, что отдельные конфигурации 1С имеют ряд особенностей по управлению пользователями. Эти особенности следует учитывать при выполнении процедуры сброса пароля 1С.

Шаг 3. Восстановление таблицы v8users и файла users.usr

Теперь выполним обратную операцию тому, что было сделано на шаге 1.
Снова создаем новый SQL скрипт в Management Studio, и вписываем туда:
?
1
2
3
4
5
6
7
8
9
10
USE [your_database]
GO
DROP TABLE [v8users]
GO
EXEC sp_rename 'v8users_tmp', 'v8users'
GO
UPDATE [Params]
SET FileName = 'users.usr'
WHERE FileName = 'users.usr_tmp'
GO
Идентификатор «your_database» замените на идентификатор своей базы 1С.
И запускаем его: F5 или иконка с восклицательным знаком.

Шаг 4. Изменяем пароль администратора или создаем нового

В Конфигураторе 1С измените пароль существующего администратора или создайте нового пользователя с административными правами.

Замечание: Сброс пароля 1С лучше делать для существующего пользователя


Имейте в виду, что в таких конфигурациях, как «Управление торговлей» версии 11 создание пользователей следует выполнять в режиме 1С:Преприятия, а не в Конфигураторе. Поэтому лучше изменить пароль существующего администратора, а не создавать через Конфигуратор нового пользователя.

Заключение

Закройте Конфигуратор и откройте снова. Теперь будет действовать указанный пароль на шаге 4.
Обязательно учитывайте особенности управления пользователями конкретной конфигурации 1С.

Комментариев нет:

Отправить комментарий