Администрирование · 10 мин
Как определить компьютер в 1С
Как определить компьютер в 1С: узнать имя ПК, серийный номер оборудования, привязку программной лицензии и данные рабочего места через конфигуратор и ОС.
Под задачей «определить компьютер в 1С» обычно скрывается одна из трёх практических ситуаций: нужно узнать имя компьютера, с которого работает пользователь или запущен сервер 1С; определить аппаратные параметры ПК, к которым привязана программная лицензия; либо идентифицировать конкретное рабочее место в списке активных сеансов или в журнале регистрации. Каждая из этих задач решается своими инструментами, и путать их не стоит.
Чаще всего вопрос возникает при активации или переносе программной лицензии 1С: пин-код привязывается к «ключевым» параметрам компьютера, и при их изменении лицензия слетает. Вторая типовая ситуация — администратору кластера нужно понять, с какого ПК идёт проблемный сеанс, блокирующий базу. Третья — разработчику требуется программно получить имя компьютера в коде, например для логирования или разграничения прав.
Ниже разобраны все основные способы: через интерфейс 1С, консоль кластера, средства Windows и встроенный язык. Отдельно рассмотрено, какие именно параметры оборудования участвуют в привязке лицензии и как проверить, что компьютер определён корректно.
Как узнать имя компьютера через консоль кластера 1С
Если 1С работает в клиент-серверном режиме, самый быстрый способ определить, с какого компьютера идёт работа, — консоль администрирования кластера. Откройте оснастку «Администрирование серверов 1С:Предприятия», раскройте нужный кластер, затем ветку «Сеансы». В таблице для каждого сеанса отображается колонка «Компьютер» — это сетевое имя машины, с которой установлено соединение.
Там же видны пользователь, приложение (тонкий клиент, толстый клиент, фоновое задание), время начала сеанса и текущая активность. Если сеанс «завис» и держит блокировку, по имени компьютера можно найти машину физически и завершить работу на ней либо удалить сеанс прямо из консоли через контекстное меню.
Учтите ограничение: консоль кластера показывает сеансы только серверных баз. Для файловых баз список активных пользователей смотрите в самой программе: раздел «Администрирование» → «Обслуживание» → «Активные пользователи» (в типовых конфигурациях). Там отображается имя компьютера и режим работы каждого подключённого пользователя.
- 1Откройте консоль «Администрирование серверов 1С:Предприятия»
- 2Раскройте кластер и перейдите в раздел «Сеансы»
- 3Найдите нужного пользователя и посмотрите колонку «Компьютер»
- 4При необходимости завершите зависший сеанс через контекстное меню
- 5Для файловой базы откройте «Администрирование» → «Активные пользователи» в самой 1С
Определение компьютера в журнале регистрации
Журнал регистрации фиксирует, с какого компьютера выполнялось каждое событие: вход в систему, изменение документа, ошибка проведения. Откройте его через «Администрирование» → «Обслуживание» → «Журнал регистрации» в клиентском приложении или через меню «Администрирование» → «Журнал регистрации» в конфигураторе.
В таблице событий есть колонка «Компьютер» — она содержит имя машины, на которой работал процесс, зафиксировавший событие. Важный нюанс: в клиент-серверном режиме для серверных операций (проведение документов, регламентные задания) там будет указан сервер 1С, а не рабочая станция пользователя. Имя клиентского ПК фиксируется в событиях аутентификации и сеансовых действиях.
Используйте отбор по пользователю и периоду, чтобы быстро сузить список. Если нужно установить, с какого компьютера конкретный сотрудник входил в базу, фильтруйте по типу события «Сеанс. Аутентификация» — в деталях события будет имя компьютера и сетевой адрес.
Программное определение компьютера во встроенном языке
Для разработчиков платформа предоставляет готовые функции. Глобальный метод ИмяКомпьютера() возвращает сетевое имя машины, на которой выполняется код. Помните о контексте исполнения: если вызвать функцию на сервере (в серверной процедуре или модуле), получите имя сервера 1С, а если на клиенте — имя рабочей станции пользователя.
Дополнительные данные о рабочем месте даёт объект СистемнаяИнформация: версия ОС, тип платформы, объём оперативной памяти, информация о процессоре. Это удобно для диагностики: например, записать в лог характеристики машины, на которой возникла ошибка.
// На клиенте — имя рабочей станции, на сервере — имя сервера
ИмяПК = ИмяКомпьютера();
СисИнфо = Новый СистемнаяИнформация;
Сообщить("ОС: " + СисИнфо.ВерсияОС);
Сообщить("ОЗУ, МБ: " + СисИнфо.ОперативнаяПамять);
Сообщить("Процессор: " + СисИнфо.Процессор);Типовой сценарий — разграничение поведения по компьютеру: например, печать на конкретный принтер только с определённой кассы или запрет запуска обработки на чужих машинах. Реализуется сравнением ИмяКомпьютера() со списком разрешённых имён, который хранят в константе или регистре сведений.
Какие параметры оборудования определяют компьютер для лицензии 1С
Программная лицензия 1С привязывается к набору аппаратных и программных параметров компьютера: версии операционной системы, имени компьютера (при установке на Windows — учитывается), серийным номерам материнской платы, жёсткого диска, сетевых адаптеров, объёму оперативной памяти и параметрам процессора. Точный перечень зависит от версии платформы и типа лицензии, но принцип один: система защиты формирует «слепок» конфигурации и сверяет его при каждом запуске.
Посмотреть, к каким параметрам привязана активированная лицензия, можно в файле лицензии (файлы с расширением .lic в каталоге conf или в общей папке лицензий) — он открывается текстовым редактором, и в нём перечислены ключевые параметры в читаемом виде. Также базовая информация о лицензии отображается в диалоге «О программе» в клиентском приложении.
Практическое следствие: замена материнской платы, жёсткого диска, переустановка Windows или смена имени компьютера могут привести к тому, что лицензия перестанет распознаваться. Поэтому перед апгрейдом оборудования или переустановкой ОС стоит заранее сохранить резервные пин-коды и понимать, какие параметры изменятся.
Определение серийного номера и оборудования ПК средствами Windows
Если нужно однозначно идентифицировать физический компьютер (например, для инвентаризации рабочих мест с 1С или проверки, тот ли это ПК, на который выдана лицензия), используйте встроенные средства Windows. Команды выполняются в командной строке и не требуют сторонних программ.
wmic bios get serialnumber
wmic baseboard get serialnumber,manufacturer
wmic diskdrive get model,serialnumber
wmic csproduct get name,uuidПервая команда возвращает серийный номер BIOS, вторая — производителя и серийный номер материнской платы, третья — модели и серийные номера дисков, четвёртая — модель компьютера и UUID. Именно эти компоненты чаще всего участвуют в привязке лицензий и аппаратной идентификации.
Имя компьютера в Windows определяется командой hostname или через «Параметры» → «Система» → «О системе». Полную аппаратную сводку даёт утилита msinfo32 — запустите её через «Выполнить» (Win+R). Эти данные полезно зафиксировать в момент активации лицензии, чтобы потом было с чем сравнивать.
Консоль кластера, раздел «Сеансы», колонка «Компьютер»
Для клиентского ПК ищите события аутентификации
Сравнить текущие серийные номера с данными в .lic-файле
Перенести вызов в клиентскую процедуру
Проверка результата и типичные ошибки
После того как вы определили компьютер любым из способов, проверьте результат перекрёстно. Сопоставьте имя из консоли кластера с фактическим именем на самой машине (команда hostname). Если имена не совпадают — возможно, в сети настроены псевдонимы, либо пользователь работает через терминальный сервер, и тогда в сеансах будет виден сервер терминалов, а не его личный ПК.
При работе с лицензией критерий правильности один: платформа запускается без сообщения «Лицензия не обнаружена», а в файле .lic параметры соответствуют реальному оборудованию. Если планируете перенос лицензии на другой ПК, сначала активируйте её на новом месте резервным пин-кодом и только потом выводите старый компьютер из эксплуатации.
Частые вопросы
Можно ли определить IP-адрес компьютера, а не только имя?
Да. В консоли кластера в свойствах сеанса виден сетевой адрес клиента. Программно IP клиента можно получить через объект описания соединения в кластере или средствами ОС (команда ipconfig на самой машине). В журнале регистрации сетевой адрес фиксируется в событиях сеанса.
Почему после смены имени компьютера слетела лицензия 1С?
Имя компьютера входит в набор параметров привязки программной лицензии на Windows. После переименования платформа не находит совпадения и сообщает об отсутствии лицензии. Решение — активировать лицензию заново резервным пин-кодом либо вернуть прежнее имя компьютера.
Как узнать, с какого компьютера изменили документ?
Откройте журнал регистрации, установите отбор по типу события изменения данных и по нужному объекту. В деталях события будут пользователь и компьютер. Учтите: в клиент-серверном режиме для проведения на сервере в поле «Компьютер» может стоять сервер кластера — тогда ориентируйтесь на пользователя и время.
Чем USB-ключ HASP отличается от программной лицензии в плане привязки к ПК?
Аппаратный ключ HASP не привязан к параметрам компьютера: лицензия работает на любой машине, куда вставлен ключ (или где развёрнут сервер лицензирования с этим ключом). Программная лицензия привязана к оборудованию конкретного ПК и слетает при его существенном изменении.
Как определить компьютер, если пользователи работают через терминальный сервер?
В сеансах кластера и журнале регистрации будет виден терминальный сервер, а не личные ПК сотрудников. Различать пользователей в этом случае следует по учётным записям 1С и по сессиям терминального сервера (диспетчер задач, вкладка «Пользователи»), а не по именам компьютеров.
Где хранится файл программной лицензии 1С?
Обычно в каталоге conf внутри папки установки платформы либо в общем каталоге лицензий профиля (например, в ProgramData для многопользовательских лицензий). Точное расположение зависит от варианта установки; найти файлы можно поиском по расширению .lic.
Что важно запомнить
Имя компьютера сеанса смотрите в консоли кластера или списке активных пользователей, программно — через ИмяКомпьютера() с учётом контекста исполнения. Программная лицензия привязана к оборудованию: перед апгрейдом ПК проверяйте резервные пин-коды. Для аппаратной идентификации используйте серийные номера BIOS, платы и дисков через wmic.