Ограничение службы с помощью API-интерфейсов брандмауэра Windows не может найти короткое имя службы
Я использую пример, чтобы ограничить все, кроме одного порта для конкретной службы Windows. Я взял пример из MSDN и попробовал его для службы Windows OpenVPN. В основном я только что отредактировал эти две строки:
BSTR bstrServiceName = SysAllocString(L"OpenVPNServiceInteractive");
BSTR bstrAppName = SysAllocString(L"C:\\Program Files\\OpenVPN\\bin\\openvpnserv.exe");
Поскольку ему нужно короткое имя, а не отображаемое имя, я сделал sc query
в моей консоли и нашел для OpenVPNServiceInteractive, но когда я запускаю, он не находит короткое имя службы (он не обрабатывает дескриптор и говорит: RestrictService fail: убедитесь, что вы указали правильное короткое имя службы)
Так что в принципе не удается найти короткое имя службы, которое я указал. Распечатывает ли (sc query) реальное короткое имя службы? Почему это не находит это?
1 ответ
Не удалось ограничить службу, потому что мне не хватало прав администратора. Запустил его как администратор и работал.