Запретить запись на CD/DVD
От: _agg  
Дата: 23.05.18 06:53
Оценка:
Всем привет, возникла задача блокировки записи на CD/DVD, пытаюсь решить ее путем изменения локальной групповой политики. Если быть точнее то через оснастку делается так запускаем gpedit.msc "Редактор локальной групповой политики->Конфигурация компьютера->Административные шаблоны->Система->Доступ к съемным запоминающим устройствам->Компакт диски и DVD диски: Запретить запись" включаем данный параметр и привод перестает записывать. Вопрос состоит в том как сделать это с помощью WinAPI пытался через интерфейс IGroupPolicyObject:
    // Create an instance of IGroupPolicyObject:  http://msdn2.microsoft.com/en-us/library/aa374235.aspx
    hr = CoCreateInstance(my_CLSID_GroupPolicyObject, NULL, CLSCTX_INPROC_SERVER, my_IID_IGroupPolicyObject, (void**)&m_pLGPO);
    if (FAILED(hr))
    {
        wcerr << L"CoCreateInstance failed; hr = " << HEX(hr) << endl;
        throw hr;
    }

    // Access local group policy on this computer
    hr = m_pLGPO->OpenLocalMachineGPO(GPO_OPEN_LOAD_REGISTRY);
    if (FAILED(hr))
    {
        wcerr << L"OpenLocalMachineGPO failed; hr = " << HEX(hr) << endl;
        throw hr;
    }
    hr = m_pLGPO->GetRegistryKey(GPO_SECTION_MACHINE, &m_ComputerKey);
    if (FAILED(hr))
    {
        wcerr << L"GetRegistryKey(GPO_SECTION_MACHINE) failed; hr = " << HEX(hr) << endl;
        throw hr;
    }


В результате GetRegistryKey возвращает HKEY то есть путь в реестре до одной из политик, но что это за политика как она называется непонятно и как получить название тоже непонятно, при каждом новом выполнении этого куска кода открываются разные политики. Вопрос: как с помощью WinAPI изменить значение параметра "Компакт диски и DVD диски: Запретить запись"?
Re: Запретить запись на CD/DVD
От: EreTIk EreTIk's Box
Дата: 23.05.18 12:11
Оценка:
Здравствуйте, _agg, Вы писали:

_>Всем привет, возникла задача блокировки записи на CD/DVD, пытаюсь решить ее путем изменения локальной групповой политики. Если быть точнее то через оснастку делается так запускаем gpedit.msc "Редактор локальной групповой политики->Конфигурация компьютера->Административные шаблоны->Система->Доступ к съемным запоминающим устройствам->Компакт диски и DVD диски: Запретить запись" включаем данный параметр и привод перестает записывать.

_> <...>
_>В результате GetRegistryKey возвращает HKEY то есть путь в реестре до одной из политик, но что это за политика как она называется непонятно и как получить название тоже непонятно, при каждом новом выполнении этого куска кода открываются разные политики. Вопрос: как с помощью WinAPI изменить значение параметра "Компакт диски и DVD диски: Запретить запись"?

Первая страница выдачи google:

Компакт-диски и DVD-диски: Запретить запись

Restrict access to removable storage devices:

The restrictions can also be controlled through these registry settings:

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\RemovableStorageDevices

To make a restriction for a device-type, create a registry-key matching the device type:
<...>
For each device type one can specify the type of restriction wanted with these DWORD values:


Проверить можно мониторингом записи в реестр от gpedit.msc
Re[2]: Запретить запись на CD/DVD
От: _agg  
Дата: 24.05.18 05:46
Оценка:
Здравствуйте, EreTIk, Вы писали:
Работает запрет действительно, спасибо, но как обычно есть но. Применяется эта политика только после перезагрузки, может есть какой-нибудь WinAPI вызов позволяющий применить политику без перезагрузки?

ETI>Здравствуйте, _agg, Вы писали:


ETI>Первая страница выдачи google:


ETI>Компакт-диски и DVD-диски: Запретить запись


ETI>Restrict access to removable storage devices:

ETI>

ETI>The restrictions can also be controlled through these registry settings:
ETI>

ETI>HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\RemovableStorageDevices
ETI>

ETI>To make a restriction for a device-type, create a registry-key matching the device type:
ETI>
    ETI>
  • CD and DVD Drives — {53f56308-b6bf-11d0-94f2-00a0c91efb8b}
    ETI>
ETI><...>
ETI>For each device type one can specify the type of restriction wanted with these DWORD values:
ETI>
    ETI>
  • Deny_Write — Enabled = 1 / Disabled = 0
    ETI>


ETI>Проверить можно мониторингом записи в реестр от gpedit.msc
Re[3]: Запретить запись на CD/DVD
От: EreTIk EreTIk's Box
Дата: 24.05.18 09:27
Оценка:
Здравствуйте, _agg, Вы писали:

_>Здравствуйте, EreTIk, Вы писали:

_>Работает запрет действительно, спасибо, но как обычно есть но. Применяется эта политика только после перезагрузки, может есть какой-нибудь WinAPI вызов позволяющий применить политику без перезагрузки?

Думаю, что достаточно запустить gpupdate /force. Используемые ею механизмы, судя по всему, недокументированны.
Re[4]: Запретить запись на CD/DVD
От: _agg  
Дата: 25.05.18 04:46
Оценка:
Здравствуйте, EreTIk, Вы писали:

Спасибо большое, даже наверно вызова gpupdate без параметров будет достаточно, судя по документации применяет только изменившиеся политики.

_>>Здравствуйте, EreTIk, Вы писали:


ETI>Думаю, что достаточно запустить gpupdate /force<br />
<span class='lineQuote level1'>ETI&gt;</span>
. Используемые ею механизмы, судя по всему, недокументированны.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.