Назад | Перейти на главную страницу

Изящно выведите всех пользователей из QuickBooks через командную строку

Я помогаю администрировать системы для малого бизнеса, который (к сожалению) использует QuickBooks 14 для управления бухгалтерским учетом.

Кстати, это только я или QuickBooks - одно из самых плохо программируемых популярных клиент-серверных приложений из существующих? Разве Intuit не зарабатывает достаточно денег, чтобы на самом деле написать реальное клиент-серверное приложение вместо того, чтобы пользователи получали доступ к хранилищу напрямую через SMB?

Пользователи используют сервер RDP, работающий на Win2k8R2, для доступа к файлу компании, который находится на отдельном сервере, предназначенном для размещения файлов.

Я настроил функцию резервного копирования по расписанию в QuickBooks, чтобы запланировать резервное копирование по ночам.

К сожалению, резервное копирование иногда завершается сбоем, но сообщения об ошибках практически не содержат полезной информации, и я почти уверен, что нет проблем с разрешениями / разрешениями на доступ к сети / NTFS, препятствующим резервному копированию, как если бы они были, резервное копирование завершится ошибкой. каждый раз.

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

Проблема в том, что я знаю только, как taskkill для программного выхода пользователей из системы; Я знаю, что в программе есть кнопка для этого, но мне нужно, чтобы она запускалась как запланированная задача прямо перед резервным копированием. Я не хочу использовать taskkill каждую ночь, поскольку я чувствую, что это может привести к проблемам с данными.

Как я могу программно и корректно завершить сеансы всех пользователей в QuickBooks?

Поздно к игре, но решение, которое мы нашли некоторое время назад, заключалось в использовании запланированной задачи, которая убивает процесс Quickbooks. Хотя "убить" звучит сильно, похоже, что оно изящно закрывает приложение.

Для нашей реализации мы используем групповую политику, чтобы применить эту запланированную задачу ко всем нашим пользователям Quickbooks.

  • Команда: taskkill.exe
  • Аргументы: / f / im QBW32.EXE

И мы запускаем его как локально авторизованный пользователь; поскольку он находится в контексте пользователя, я думаю, что он будет делать то, что вы хотите, не мешая входу пользователя в RDP. На самом деле мы планируем две задачи, одну для раннего вечера, но это не срабатывает, если пользователь активно работает на машине и не использует аргумент / f.

И я согласен с вашей стороной; Quickbooks - безусловно, самая проблемная программа, которую меня просят поддержать. О том, что он поддерживает многопользовательские среды, кажется, вспомнили позже.

Я совершенно уверен, что для запуска резервного копирования QB должен перейти в однопользовательский режим. Если другие пользователи вошли в QB, он не может этого сделать.

Одна вещь, которую вы можете рассмотреть, - это использовать ограничения сеансов RDP Idle и Disconnected, чтобы убить сеансы пользователя, которые неактивны или отключены в течение определенного периода времени. Таким образом, если пользователь оставляет сеанс запущенным, когда он возвращается домой в течение дня, сеанс будет завершен через определенный период времени. Это завершит работу всех экземпляров QB на сервере, что позволит QB выполнить резервное копирование.

Если вы администратор, откройте свой мессенджер (чат). В правом верхнем углу выберите «Действия», затем выберите «закрыть файл компании для других пользователей». Это даст список пользователей, которые вошли в систему. Вы можете выбрать столько, сколько необходимо. (все, если нужно перейти в однопользовательский режим.

У меня часто удаленные пользователи забывают выйти из системы при выходе из удаленного соединения. Обретение этого инструмента предотвратило множество разочарований.