Добрый день.
Недавно купил 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”. Её можно скачать по ссылке
https://www.microsoft.com/en-us/down....aspx?id=23510, там дадут 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"
Echo On
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"
Echo On
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"