AndreyVladimirovich
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый день. Недавно купил HDDlife Pro 4.2.204 и столкнулся с проблемой программного отсоединения внешних HDD. Это удаётся сделать, только после остановки службы «HDDlife HDD Access service». До установки HDDlife Pro такой проблемы не было. И забавно, что её не было с программой HDD Temperature 4.0. Программа работает на Win10 Pro x64 Ru. В итоге, пришлось прописать себе права на остановку и запуск проблемной службы. В техподдержку написал, но сообщение, видимо, ушло в космос с билетом в один конец. В общем, решил поделиться своим решением этой проблемы. Использую два командных файла – “HDDLife_Service_Setting_rights.cmd” для получения прав на остановку и запуск службы и “HDDLife_Service_Stop_Start.cmd” для перезапуска программы и службы. Для работы первого потребуется программа “subinacl.exe”. Её можно скачать по ссылке на сайт MS, там дадут MSI-пакет. Из него EXE-файл можно выудить путём распаковки дистрибутива архиватором 7-ZIP или установкой этого пакета (она будет в одной из папок «Program Files», дальнейший путь «\Windows Resource Kits\Tools»). Два замечания по файлу «HDDLife_Service_Setting_rights.cmd»: 1. Командный файл предполагает, что программа «subinacl.exe» находится в той же папке, что и он сам. 2. Если компьютером пользуются несколько человек с личными учётными записями пользователя, то правильнее будет создать для них группу, сделать этих пользователей членами этой группы и разрешить остановку и запуск службы для этой группы. Второй командный файл предназначен для его запуска перед программным отсоединением внешнего HDD. Он закрывает программу, останавливает службу и ждёт (встаёт на паузу) вашего согласия на запуск службы и программы. В файле «HDDLife_Service_Stop_Start.cmd» запуск программы HDDlife из директории «C:\Program Files» закомментирован, так что, если у вас x32 (x86) ОС, то вырежьте в начале соответствующей строки, подстроку “Rem “ и вставьте её в начало строки с директорией «Program Files (x86)». Данные изменения в командном файле можно производить даже в MS блокноте несмотря на кракозябры (кодировка файла Кириллица OEM 866). Хотел оставить оба пути, но команда «Start» ругается, когда нет запускаемого объекта. Содержимое файла “HDDLife_Service_Setting_rights.cmd” Код: Rem Echo Off Rem Назначение командного файла. Rem Прописывание прав для пользователя или группы на запуск и остановку службы "HDDlife HDD Access service". Rem Выставляем кодировку файла "Кириллица OEM 866". CHCP 866 Rem Включение расширенной обработки команд (EnableExtensions) Rem и отложенного расширения переменных среды (EnableDelayedExpansion) SetLocal EnableExtensions EnableDelayedExpansion Rem Rem Для нормального отображения русских слов при редактировании файла и его работе, Rem кодировка должна быть Кириллица OEM 866. Rem Rem Символы "%~dp0" в начале имени файла или папки (через слеш) означают, Rem что объект находится в той же папке, что и запущенный командный файл. Rem При этом способе нужно использовать двойные кавычки. Rem Rem "%~dp0SubInAcl" /Service \\Имя_компьютера\Имя_службы /Grant=Имя_пользователя[=Тип_доступа] Rem F : полный доступ Rem R : чтение Rem W : запись Rem X : выполнение Rem L : чтение разрешений Rem Q : запрос конфигурации службы Rem S : запрос состояния службы Rem E : перечисление зависящих служб Rem C : изменение конфигурации службы Rem T : запуск службы Rem O : остановка службы Rem P : приостановка и возобновление работы службы Rem I : опрос службы Rem U : пользовательские команды Rem Имя пользователя или группы Rem Set "User_or_Group_Name_=" Set /P User_or_Group_Name_="Введите имя пользователя или группы и нажмите клавишу ввода: " Rem Данная служба ("HDDlife HDD Access service") не поддерживает приостановку (паузу). "%~dp0SubInAcl.exe" /Service "HDDlife HDD Access service" /Grant="%User_or_Group_Name_%"=TO @Echo. @Echo Работа командного файла закончена. @Echo. Pause | Содержимое файла “HDDLife_Service_Stop_Start.cmd” Код: Rem Echo Off Rem Назначение командного файла. Rem Закрывание программы "HDDLife", остановка службы "HDDlife HDD Access service" и ожидание действия Rem пользователя для дальнейшего запуска службы "HDDlife HDD Access service" и запуска программы HDDLife. Rem Выставляем кодировку файла "Кириллица OEM 866". CHCP 866 Rem Включение расширенной обработки команд (EnableExtensions) Rem и отложенного расширения переменных среды (EnableDelayedExpansion) SetLocal EnableExtensions EnableDelayedExpansion Rem Rem Для нормального отображения русских слов при редактировании файла и его работе, Rem кодировка должна быть Кириллица OEM 866. Rem Rem Символы "%~dp0" в начале имени файла или папки (через слеш) означают, Rem что объект находится в той же папке, что и запущенный командный файл. Rem При этом способе нужно использовать двойные кавычки. Rem Rem Закрываем программу (убиваем процесс). TSKill "HDDlifePro" Rem Пауза в 2 секунды. Ping -n 3 -w 1000 -l 1 127.0.0.1 Rem Останавливаем службу. SC Stop "HDDlife HDD Access service" Pause Rem Запускаем службу. SC Start "HDDlife HDD Access service" Rem Пауза в 3 секунды. Ping -n 4 -w 1000 -l 1 127.0.0.1 Rem Запускаем программу. Rem Обязательно нужно указывать два пути, иначе, облом. Rem Вариант запуска для x64 ОС. Start "C:\Program Files (x86)\BinarySense\HDDlife 4" /Min "C:\Program Files (x86)\BinarySense\HDDlife 4\HDDlifePro.exe" "/minimized" Rem Второй вариант запуска, для x32 (x86) ОС. Rem Start "C:\Program Files\BinarySense\HDDlife 4" /Min "C:\Program Files\BinarySense\HDDlife 4\HDDlifePro.exe" "/minimized" | |