Уведомления
Очистить все

1С 8.3 : Как сбросить пароли пользователей 1C если база на SQL Server или PostgreSQL

1 Записи
1 Пользователи
0 Likes
1,004 Просмотры
10-150 Okolokompa Форум
 dom
(@dom)
Honorable Member
Присоединился: 5 лет назад
Записи: 200
Создатель темы  

Бывают случаи когда есть доступ на SQL Server, а пароль от пользователя 1С с полными права потерян, в этом случае возможно снять пароль способом который описан ниже, итак поехали.

Платформа 1С при работе на SQL Server хранит список пользователей в двух местах, а именно в таблице v8users и в файле users.usr который бинарно расположен в таблице Params.

Теперь попробуем заставить платформу думать что в базе нет ни одного пользователя. Для этого необходимо всего навсего переименовать таблицу v8users и строчку с файлом users.usr. Открываем SQL Server Management Studio логинимся и создаем запрос к базе данных с содержанием:

Код SQL
EXEC sp_rename 'v8users', 'v8users_old'
GO
UPDATE Params
SET FileName = 'users.usr_old'
WHERE FileName = 'users.usr'
GO   

После этого открываем базу данных в конфигураторе и видим что платформа не спрашивает пользователя и пароль, при этом в SQL Server будет заново создана таблица v8users. Теперь чтобы всех пользователей вернуть обратно не закрывая конфигуратора выполним в SQL Server Management Studio запрос:

Код SQL
DROP TABLE v8users
GO
EXEC sp_rename 'v8users_old', 'v8users'
GO
UPDATE Params
SET FileName = 'users.usr'
WHERE FileName = 'users.usr_old'
GO   

После выполнения запроса в списке пользователей появяться все пользователи 1С, останеться только найти нужного и изменить ему пароль.

PS: Для PostgreSQL открываем pgAdminIII и выполняем:

Код SQL
ALTER TABLE v8users RENAME TO v8users_old;
UPDATE Params SET FileName = 'users.usr_old' WHERE FileName = 'users.usr';   

заходим в конфигуратор и выполняем:

Код SQL
DROP TABLE v8users;
ALTER TABLE v8users_old RENAME TO v8users;
UPDATE Params SET FileName = 'users.usr' WHERE FileName = 'users.usr_old';   

   
Цитата
Поделиться: