Следуя совету @ Ramhound, я начал работать с использованием групповой политики.
Общее направление описано здесь: https://technet.microsoft.com/en-us/library/2007.06.grouppolicy.aspx
В частности, мне нужно правило "Запретить установку съемных устройств".
Итак, вот краткое изложение того, что я в итоге сделал:
- В диспетчере устройств удалите все ненужные USB-устройства, в том числе те, которые в данный момент не подключены - есть переменная среды
DEVMGR_SHOW_NONPRESENT_DEVICES
которая позволяет отображать установленные, но в настоящий момент отключенные устройства; просто поищите в сети "DEVMGR_SHOW_NONPRESENT_DEVICES";
- Установите желаемое USB-устройство; в этом случае запоминающее устройство USB;
- Включите правило "Запретить установку съемных устройств" в групповой политике.
Пусть покупатель будет бдителен:
- Групповая политика, вероятно, не может эффективно блокировать некоторые устройства, которые не предоставляют уникальный серийный идентификатор. Например, если модель запоминающего устройства USB определенного производителя не предоставляет уникальный серийный идентификатор, и вы его установили, то групповая политика может разрешить монтирование любых других экземпляров той же модели поставщика. У меня нет такой модели запоминающего устройства USB, поэтому я не могу проверить.
- Насколько я понимаю, идентификаторы USB-устройств не подписаны и, следовательно, не могут быть проверены - то есть, если USB-устройство заявляет, что оно является определенным устройством с определенным серийным идентификатором, компьютер не может определить, так ли это. Плохой парень может создать USB-устройство с поддельным идентификатором USB-устройства и поддельным серийным идентификатором, чтобы он был принят вашим компьютером, хотя и тогда.
Учитывая все вышесказанное, это решение работает, если вы предполагаете, что все ваши устройства предоставляют уникальные серийные идентификаторы, и что никто не пытается подделать USB-устройство, чтобы оно было принято вашим компьютером.