1c sql сбросить пароль пользователя
Рассмотрим способ сброса паролей SQL-базы 1С, если вы случайно потеряли доступ к учетной записи администратора (-ов) или не знаете вообще паролей пользователей ИБ.
Сценарием поделился Андрей Грибчатов — читатель нашего Дзен-канала. Отдельная благодарность Андрею за это элегантное решение.
Еще раз. Перед нами стоит задача — обнулить или сменить пароль администратора информационной базы 1С на SQL и вернуть себе управление. Поехали.
Внимание
>>> Выполняйте действия на копии базы 1С или тестовой системе. Обязательно! Команды предполагают прямую корректировку записей в таблицах SQL. Под вашу ответственность. <<<
Вводные условия для теста
- Технологическая платформа 8.3.18.1208 x64, клиент-серверный режим на MS SQL Server.
- База 1С открывается до этапа выбора пользователя, но возможности авторизоваться нет (пароли утеряны).
- Есть административный доступ к СУБД через оснастку управления SQL Server Management Studio.
Первый этап
На первом шаге запускаем Management Studio и открываем консоль запросов.
, где [DatabaseName] — имя вашей информационной базы 1С.
Успешное выполнение запроса
Второй этап
Не закрывая окно SQL Server Management Studio, откройте базу 1С в режиме Конфигуратора. Т. к. список пользователей зачищен, то Конфигуратор должен открыться без пароля в штатном режиме.
После открытия Конфигуратора вернитесь в окно запросов SQL и выполните следующие команды:
Этот сценарий возвращает данные обратно в таблицы v8users и Params.
Возвращение содержимого таблиц v8users и Params из копий
После этого действия вы можете открыть список пользователей в Конфигураторе (Меню «Администрирование — Пользователи») и поменять или сбросить пароли пользователей.
Например, выбрать учетную запись с полными правами и обнулить пароль.
Или поставить аккаунту «аутентификация операционной системы» от имени текущего пользователя, а потом в режиме Предприятия добавить нового пользователя, а аутентификацию вернуть как было.
Восстановление пароля 1С, если база файловая
1 шаг
2 шаг
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
3 шаг
Пароли сняты, поздравляю!
Обновление от наших читателей для новых платформ 1С (например, 1С: Предприятие 8.3.5.1383):
Обновление №2 от нашего читателя Evil Grym от 07.10.2017:
Снятие пароля, если база 1С клиент-серверная
Если у Вас на предприятии клиент-серверный вариант 1С, необходимо действовать немного иначе.
Шаг 1
Шаг 2
Шаг 3
Обновление: в релизе платформы 1С 8.3.5.1460 описанный выше способ не дает должного результата. Из опыта наших читателей известно, что необходимо попробовать удалить таблицу Usersv8.
Готово! Вы удалили пароли 1С!
Если же у Вас так и не получилось произвести взлом пароля от 1С самостоятельно, Вы всегда можете обратиться за помощью к специалисту 1С
Другие статьи по 1С:
Сброс пользователей в клиент-серверной базе 1С:Предприятия 8.x
В клиент-серверном режиме работы все данные хранятся в базе данных, управляемой одной из СУБД: MS SQL, Postgree SQL, IBM DB2 или Oracle. Информация об учетных записях хранится в двух таблицах: "v8users" и "Params".
В некоторых ситуациях может появиться необходимость сбросить учетные записи пользователей, чтобы войти в информационную базу. В статье рассмотрим действия, необходимые для выполнения этой задачи. В примере будем использовать MS SQL Server 2012 Express . Имя базы данных на SQL-сервере - "Exp".
Для того, чтобы сбросить учетные записи нужно выполнить два действия:
- Удалить таблицу "v8users".
- Удалить запись из таблицы "Params", у которой в первой колонке "FileName" содержится значение "users.usr".
SQL-команды
И так, нам нужны SQL-команды для сброса и восстановления пользователей информационной базы. Начнем с команд сброса списка пользователей. Нам нужно выполнить следующие действия:
- Переименовываем таблицу "v8users" в "h8users" вместо ее удаления. Это позволит восстановить таблицу в дальнейшем. Подробнее о команде "sp_rename" Вы можете прочитать здесь .
- В таблице "Params" также не будем удалять запись, а лишь изменим значение в колонке "FileName" с "users.usr" на "husers.usr". Тогда платформа не сможет найти параметры пользователей информационной базы. Подробнее о команде "UPDATE" Вы можете узнать здесь .
Выполнив эти шаги, мы без проблем сможем зайти в информационную базу, пропустив этап аутентификации. Теперь перейдем к рассмотрению команд по восстановлению списка пользователей. Всего будет три команды:
- Удаление таблицы "v8users", поскольку входа в ИБ платформа создает таблица заново, если она отсутствовала. Вот так выглядит SQL-команда по удалению таблицы из БД. Следует предусмотреть отсутствие этой таблицы, чтобы не появилась ошибка выполнения. Подробнее о команде "DROP TABLE" смотрите по ссылке .
- Восстанавливаем исходное имя таблицы "v8users". Ее синтаксис аналогичен предыдущему примеру, изменили лишь местами имена таблиц.
- Возвращаем исходную запись параметров. При необходимости нужно удалить новую запись настроек пользователей, если платформа ее создала.
Автоматизируем процесс
Программу Вы можете скачать по ссылке . Исходные файлы проекта Вы можете скачать отсюда . В принципе, написать подобрую программу не сложно. Важный момент - все действия по изменению базы данных должны выполняться в транзакции, что и было учтено.
Для сброса/восстановления учетных записей необходимо ввести адрес SQL-сервера, имя базы данных и информацию для аутентификации на SQL-сервере.
Таким образом, задача решена, а с помощью созданной программы процесс сброса учетных записей не будет проблемой.
Очень часто сброс пароля 1С является необходимостью для системного администратора, либо принимающего дела у своего предшественника, либо в случае переноса системы после краха и т.д.
Для файл-серверных вариантов 1С требуется внесение изменений в основной файл базы данных с помощью hex-редактора. Думаю, не стоит говорить о том, что сброс пароля 1С совсем не безопасная процедура, требующая четкого понимания того, что Вы делаете, а также наличия резервной копии. Кстати, резервную копию файловой 1С можно получить путем полного копирования файла 1Cv8.1CD, для клиент-серверной – достаточно выгрузить дамп базы данных штатными средствами СУБД.
Для сброса пароля 1С в клиент-серверном варианте, необходимо понимать алгоритм выполнения операций и иметь не только доступ к СУБД, но и средства администрирования сервера БД. Для MS SQL Server потребуется SQL Server Management Studio, для PostgreSQL – pgAdmin. Соединяемся с нужной базой, а теперь теория…
Чтобы сбросить пароль 1С, дадим понять системе, что пользователей вовсе нет, тогда программа должна дать нам доступ с полными правами администратора. Т.к. 1С хранит своих пользователей в нескольких местах, придется выполнить несколько запросов:
Поскольку я сбрасываю пароль 1С, размещенной в СУБД PostgreSQL, приведу пример в pgAdmin, для MS SQL операции идентичны, немного разнится синтаксис.
Ну а для того, чтобы вернуть в систему всех пользователей, нужно не закрывая конфигуратор выполнить обратные запросы:
В этом случае, можно сбросить пароль 1С только у администратора или любого другого пользователя, а все остальные учетные данные останутся без изменений.
А для тех, кто не справился с задачей с помощью нашего сайта, приглашаем в нашу группу в социальных сетях. Также, наши специалисты могут осуществить сброс пароля 1С на коммерческой основе, стоимость услуг - от 5000 рублей .
Vofka --> VofkaПеред выполнением процедуры сброса пароля 1С обязательно сделайте резервную копию базы данных.
Сброс пароля 1С 8.2 или 8.3 может потребоваться, если по каким-то причинам админский доступ был утрачен. Надо сказать, что сброс пароля 1С с базой под SQL Server выполняется даже проще, чем в файловом варианте.
Единственным условием успешного выполнения процедуры сброса пароля 1С Предприятия 8.2/8.3 является доступ в консоль Microsoft SQL сервера. Если растеряли вообще все пароли, то ситуация несколько усложняется. В данной статье будет дано описание только как снять пароль 1С с SQL базы. Способ сброса пароля пользователя SQL Server — отдельная тема.
Где 1С хранит данные о паролях
Не пытайтесь стирать вообще всю инфу из полей с паролями. Они не бывают пустыми.
Как получить админский доступ в 1С без пароля
Основная идея в том, что, если при загрузке базы 1С:Предприятия не будет обнаружен ни один пользователь, то вошедший получит максимальные права. При этом, формирование списка доступных привилегий 1С выполняет только на входе и больше к ним не обращается.
Кстати: именно по причине проверки привилегий только на входе, при изменении прав доступа пользователей, новые параметры вступают в силу только после повторной авторизации пользователя.
Откроем Management Studio.
Создаем новый запрос к БД:
Идентификатор «your_database» замените на идентификатор своей базы 1С.
И запускаем его: F5 или иконка с восклицательным знаком.
Открываем 1С в режиме конфигуратора. При входе ни пользователя ни пароля запрошено не будет. База откроется с полными правами.
Имейте в виду, что отдельные конфигурации 1С имеют ряд особенностей по управлению пользователями. Эти особенности следует учитывать при выполнении процедуры сброса пароля 1С.
Теперь выполним обратную операцию тому, что было сделано на шаге 1.
Снова создаем новый SQL скрипт в Management Studio, и вписываем туда:
Идентификатор «your_database» замените на идентификатор своей базы 1С.
И запускаем его: F5 или иконка с восклицательным знаком.
Шаг 4. Изменяем пароль администратора или создаем нового
В Конфигураторе 1С измените пароль существующего администратора или создайте нового пользователя с административными правами.
Замечание: Сброс пароля 1С лучше делать для существующего пользователя
Имейте в виду, что в таких конфигурациях, как «Управление торговлей» версии 11 создание пользователей следует выполнять в режиме 1С:Преприятия, а не в Конфигураторе. Поэтому лучше изменить пароль существующего администратора, а не создавать через Конфигуратор нового пользователя.
Закройте Конфигуратор и откройте снова. Теперь будет действовать указанный пароль на шаге 4.
Обязательно учитывайте особенности управления пользователями конкретной конфигурации 1С.
Читайте также: