Только вчера столкнулся с ситуацией когда 1С аутсорсинг поменяли пароль администратора в базе ЗУП и через некоторое время благополучно забыли - потеряли и обратились ко мне с просьбой помочь снести - поменять. Это событие и стало поводом для написания подробной статьи на тему сброса паролей в разных реализациях баз данных.
Сбрасывать мы будем пароль администратора, при этом другие учетки не пострадают, всегда делайте бэкапы перед манипуляцией с базой данных.
Озвученные мною далее варианты сброса паролей подходят под все современные конфигурации 1С.
1-й вариант. MSSQL 2019
- Запускаем Management Studio, нажимаем Создать запрос и пишем в консоли запросов следующее:
USE [zup]
GO
EXEC sp_rename 'v8users', 'v8users_tuning-admina'
GO
UPDATE [Params]
SET [FileName] = 'users.usr_tuning-admina'
WHERE [FileName] = 'users.usr'
GO
Нажимаем Выполнить:
- Запускаем 1с с нашей базой, вы провалитесь в базу без выбора учётной записи.
- Переключаемся в Management Studio не выходя из базы 1с и пишем второй запрос:
USE [zup]
GO
DROP TABLE [v8users]
GO
EXEC sp_rename 'v8users_tuning-admina', 'v8users'
GO
UPDATE [Params]
SET FileName = 'users.usr'
WHERE FileName = 'users.usr_tuning-admina'
GO
Нажимаем Выполнить:
Переключаемся в 1с и меняем пароль администратору.
На этом всё, не забывайте пароль, а лучше заведите себе именную учетную запись с правами администратора.
2-й вариант. PostgreSQL - консоль запросов в pgadmin4
Принцип тот же запускаем pgadmin, щелкаем по базе правой клавишей мышки и выбираем Query Tools, пишем запрос:
ALTER TABLE v8users RENAME TO v8users_tuning-admina;
UPDATE Params SET FileName = ‘users.usr_tuning-admina’ WHERE FileName = ‘users.usr’;
Нажимаем Выполнить.
- Запускаем 1с с нашей базой, вы провалитесь в базу без выбора учётной записи.
- Переключаемся в pqadmin не выходя из базы 1с и пишем второй запрос:
DROP TABLE v8users;
ALTER TABLE v8users_tuning-admina RENAME TO v8users;
UPDATE Params SET FileName = ‘users.usr’ WHERE FileName = ‘users.usr_tuning-admina’;
Нажимаем Выполнить
- Переключаемся в 1с и меняем пароль администратору.
На этом всё не забывайте пароль, а лучше заведите себе именную учётную запись с правами администратора.
3-й Вариант. Консоль PostgreSQL.
В консоли на сервере подключаемся под пользователем postgres к нашей базе:
sudo -u postgres psql zup
Переименовываем таблицу v8users, где хранятся пароли 1С:
ALTER TABLE v8users RENAME TO v8users_tuning-admina;
Переименовываем файл users.usr:
UPDATE Params SET FileName='users.usr_tuning-admina' WHERE FileName='users.usr';
- Запускаем 1с с нашей базой, вы провалитесь в нее без выбора учётной записи.
- Переключаемся обратно в консоль на сервере не выходя из базы 1с и пишем запросы:
DROP TABLE v8users;
ALTER TABLE v8users_tuning-admina RENAME TO v8users;
UPDATE Params SET FileName='users.usr' WHERE FileName='users.usr_tuning-admina';
\q
- Переключаемся в 1с и меняем пароль администратору.
На этом всё не забывайте пароль, а лучше заведите себе именную учётную запись с правами администратора.
4-й вариант. Файловая версия.
Последний раз сносил пароль в файловой базе года 4 назад, но для вас вспомню и повторю по шагам данную процедуру. У меня версия платформы 8.3.22.2283, конфигурация Зарплата и управление персоналом 3.1
Порядок действий таков:
- Делаем бэкап базы
- Откатываем версию базы данных
- Правка пароля администратора в базе данных
- Апгрейд базы данных
- Тестирование и исправление
Итак поехали.
Делаем бэкап базы
Другими словами просто копируете папку с базой. Можете предварительно проделать манипуляции на копии.
Откатываем версию базы данных
У компании 1с существует утилита tool_1cd для просмотра и редактирования файла базы данных 1Cv8.1CD, до версии 0.3.0 она поддерживала возможность редактирования баз данных, в более новых эту возможность убрали, в связи с чем необходимо выполнить откат версии базы данных до 8.2.14. В самой свежей конфигурации версия базы данных 8.3.8, для отката версии БД нам потребуется запустить командную строку с правами администратора:
Пишем в командной строке следующее:
"C:\Program Files\1cv8\8.3.22.2283\bin\cnvdbfl.exe" -c -f 8.2.14 D:\DataBases\zup\1Cv8.1CD
Процедура не долгая буквально 1 минута
Правка пароля администратора в базе данных
Скачиваем и запускаем Tool_1CD версии 0.3.0
Открываем нашу базу:
Ищем таблицу V8USERS и в ней же видим список наших пользователей:
В строке с пользователем Администратор выделяем ячейку Data с параметром Image:
В нижней части нажимаем на дискету и сохраняем параметры в файл, после чего открываем его с помощью блокнота:
Нас с вами интересуют данные в кавычках пример: "hW3M4CbxT84tr2MR9JbjD0jsROM=" их 3 два одинаковых и один отличающийся - это хэш пароля Администратора и его необходимо заменить на хэш пустого пароля: 2jmj7l5rSw0yVb/vlWAYkK/YBwk=
У меня получилось так:
Сохраняем файл
В окне программы Tool_1CD нажимаем на карандаш для редактирования:
Загружаем наш сохраненный файл с исправленным хэшем, нажимая на иконку:
Откроется окно в котором выбираем путь к нашему файлу и нажимаем ОК:
Как видим импорт данных из файла прошел удачно:
Осталось только сохранить изменения в нашей базе, для этого нажимаем на иконку с зеленой галочкой:
Закрываем программу Tool_1CD, она нам более не потребуется.
Апгрейд базы данных
Возвращаемся к командной строке и вводим следующее:
"C:\Program Files\1cv8\8.3.22.2283\bin\cnvdbfl.exe" -c -f 8.3.8 D:\DataBases\zup\1Cv8.1CD
Тестирование и исправление
Запускаем базу в режиме конфигуратор и запускаем тестирование и исправление базы данных, хотя в принципе это и не потребуется, так на всякий случай для успокоения совести.
Нажимаем продолжить:
Галки оставляем по умолчанию, Выполнить:
Если у вас изначально с базой не было проблем то ошибок не будет.
Запускаем 1с в режиме предприятие, заходим в Администрирование и меняем пароль администратору.
На этом всё не забывайте пароль, а лучше заведите себе именную учётную запись с правами администратора.
Я надеюсь статья оказалась полезной и вам понравилась.