Сброс пароля 1С 8.2 или 8.3 может потребоваться, если по каким-то причинам админский доступ был утрачен. Надо сказать, что сброс пароля 1С с базой под SQL Server выполняется даже проще, чем в файловом варианте.
Единственным условием успешного выполнения процедуры сброса пароля 1С Предприятия 8.2/8.3 является доступ в консоль Microsoft SQL сервера. В данной статье будет дано описание только как снять пароль 1С с SQL базы.
Где 1С хранит данные о паролях
1С:Предприятие 8.2/8.3 хранит информацию о паролях в двух местах:
- В таблице БД v8users.
- В файле users.usr. Файл бинарно сохранен в таблице Params.
Учтите, что пароли хранятся не в открытом виде, а в виде хэш кодов. Это несимметричный алгоритм шифрования без возможности обратного восстановления. Поэтому зайти и задать где-то в конкретном поле новый пароль не получится.
Не пытайтесь стирать вообще всю инфу из полей с паролями. Они не бывают пустыми.
Как получить админский доступ в 1С без пароля
Основная идея в том, что, если при загрузке базы 1С:Предприятия не будет обнаружен ни один пользователь, то вошедший получит максимальные права. При этом, формирование списка доступных привилегий 1С выполняет только на входе и больше к ним не обращается.
Кстати: именно по причине проверки привилегий только на входе, при изменении прав доступа пользователей, новые параметры вступают в силу только после повторной авторизации пользователя.
Шаг 1. Переименовываем таблицу v8users и файл users.usr
Перед входом в базу данных, куда требуется получить доступ, переименуем таблицу v8users в v8users_tmp. Так же переименуем файл users.usr в users.usr_tmp.
Откроем Management Studio.
Создаем новый запрос к БД:
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, и вписываем туда:
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С.
Источник: http://www.msav.ru/blog/1334-sbros-parolya-1s-pod-sql