Изящный вход всех пользователей из QuickBooks через командную строку
Я помогаю администрировать системы для малого бизнеса, который (к сожалению) использует QuickBooks 14 для управления своим бухгалтерским учетом.
Кроме того, это только я или QuickBooks одно из самых плохо запрограммированных популярных клиент-серверных приложений из существующих? Разве Intuit не зарабатывает достаточно денег, чтобы они могли написать настоящее клиент-серверное приложение вместо того, чтобы пользователи обращались к хранилищу напрямую через SMB?
Пользователи используют RDP-сервер, работающий на Win2k8R2, для доступа к файлу компании, который находится на отдельном сервере, предназначенном для размещения файлов.
Я настроил функцию резервного копирования по расписанию в QuickBooks для планирования ночного резервного копирования.
К сожалению, иногда происходит сбой резервного копирования - но сообщения об ошибках практически ничего не дают в виде полезной информации - и я совершенно уверен, что нет проблем с сетевыми /NTFS-разрешениями / разрешениями общего доступа, предотвращающими резервное копирование, как если бы оно было, резервное копирование завершилось бы неудачно каждый раз.
Я суеверен и считаю, что резервные копии будут работать каждый раз, если все пользователи вышли из системы. Я никогда не видел сбой резервного копирования, когда пользователи вышли из системы.
Проблема в том, что я знаю только как taskkill
выходить из системы программно; Я знаю, что в программе есть кнопка, чтобы сделать это, но мне нужно, чтобы она выполнялась как запланированное задание непосредственно перед выполнением резервного копирования. Я не хочу использовать taskkill
каждую ночь, как мне кажется, это может привести к проблемам с данными.
Как можно программно и изящно завершить сеансы всех пользователей в QuickBooks?
3 ответа
Поздно об этой игре, но решение, которое мы нашли некоторое время назад, заключалось в использовании запланированной задачи, которая убивает процесс Quickbooks. Хотя "kill" звучит сильно, похоже, оно изящно закрывает приложение.
Для нашей реализации мы используем групповую политику, чтобы применить это запланированное задание ко всем пользователям Quickbooks.
- Команда: taskkill.exe
- Аргументы: /f /im QBW32.EXE
И мы запускаем его как локально зарегистрированный пользователь; поскольку он находится в пользовательском контексте, я думаю, что он будет делать то, что вы хотите, не нарушая вход пользователя в RDP. На самом деле мы планируем две задачи, одну на более ранний вечер, но это не срабатывает, если пользователь активно работает на машине, и не использует аргумент / f.
И я согласен с вашей стороны; Quickbooks - безусловно, самое проблемное программное обеспечение, которое меня просят поддержать. Тот факт, что он поддерживает многопользовательские среды, кажется запоздалым.
Я вполне уверен, что для запуска резервного копирования QB должен перевести себя в однопользовательский режим. Если другие пользователи вошли в QB, он не сможет этого сделать.
Одна вещь, которую вы могли бы рассмотреть, - это использовать ограничения RDP на Idle и Disconnected для того, чтобы убить пользовательские сессии, которые были простаивали или отключались в течение некоторого времени. Таким образом, если пользователь оставляет сеанс запущенным, когда они возвращаются домой на день, когда сеанс будет завершен через некоторое время. Это прекратит любые экземпляры QB на сервере, что должно позволить QB выполнить резервное копирование.
Если вы являетесь администратором, откройте свой мессенджер (чат). В правом верхнем углу выберите "Действия", затем выберите "закрыть файл компании для других пользователей". Это даст список пользователей, которые вошли в систему. Вы можете выбрать столько, сколько необходимо. (все, если вам нужно переключиться в однопользовательский режим.
Я часто имею удаленных пользователей, забывающих выйти из системы, когда они выходят из удаленного соединения. Поиск этого инструмента предотвратил большое разочарование.