DCOM Security с использованием командного файла

Существуют ли способы изменения прав доступа для COM-безопасности с помощью командного файла? Мне нужно записать новые значения в "Редактировать ограничения..." и "Редактировать по умолчанию..." в "Разрешения на доступ" и "Разрешения на запуск и активацию" с помощью пакетного сценария. Я использую машины с Windows XP с пакетом обновления 2 и 3.

Спасибо.

2 ответа

Недавно у меня возникла необходимость создать пакетный сценарий для предоставления разрешений локальной активации по умолчанию, чтобы я мог запускать внепроцессный COM-компонент в Windows Azure. После долгих исследований я использовал инструмент RegFromApp (ссылка на скачивание находится внизу страницы), чтобы увидеть, какие изменения были внесены в реестр Windows, когда я предоставил вышеупомянутые разрешения для виртуальной машины Windows Server 2008 R2. Вот шаги, которые я использовал, чтобы определить, какие изменения нужно внести в реестр...

  1. Поступил dcomcnfg в командной строке для запуска служб компонентов
  2. Запущена программа RegFromApp
  3. В RegFromApp, выберите процесс mmc.exe и нажмите кнопку ОК, чтобы проверить, какие изменения он внесет в реестр
  4. Вернитесь в Службы компонентов, разверните элемент Службы компонентов в левой панели.
  5. Элемент "Расширенные компьютеры" на левой панели
  6. Щелкните правой кнопкой мыши элемент " Мой компьютер" на левой панели и выберите " Свойства" во всплывающем меню.
  7. Выбранная вкладка COM Security
  8. В окне Разрешения на запуск и активацию нажал кнопку Изменить по умолчанию
  9. Нажал кнопку Добавить
  10. Поступил IIS_IUSRS в пустом поле нажал кнопку Проверить имена и нажал кнопку ОК
  11. Установите флажок Разрешить для локальной активации и нажмите кнопку ОК.
  12. Нажмите кнопку Применить, затем кнопку ОК
  13. Вернувшись в программу RegFromApp, нажмите " Сохранить как" в меню "Файл", чтобы сохранить изменения реестра как SetDCOMPermission.reg файл

Записав изменения реестра в файл.reg (т. Е. Значение DefaultLaunchPermission было изменено в ключе [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OLE]), я написал следующий пакетный сценарий, чтобы зарегистрировать мой COM-компонент и применить изменения к реестру с помощью работает мой файл.reg...

chcp 1252>NUL
OleAutomationFeasibilityModel.exe /regserver
regedit.exe /s SetDCOMPermission.reg
exit /b 0

Я уверен, что вы могли бы использовать подобную технику для записи необходимых изменений в реестре для достижения того, чего вы пытаетесь достичь в файле.reg, и запустить этот файл из пакетного сценария.

Надеюсь, это поможет!

Я не знаю ни одного стороннего инструмента, который бы позволял вам создавать ACL программно. В прошлом я когда-либо видел, чтобы это делалось только с помощью пользовательских инструментов, например, VBScript и компонента C++ COM или встроенного инструмента командной строки.

Если вы действительно хотите пойти по этому пути, то Keith Brown's Programming Windows Security - отличная книга на эту тему, хотя и немного устаревшая в наши дни. Это то, что я работал над таким компонентом несколько лет назад.

Другие вопросы по тегам