DCOM Security с использованием командного файла
Существуют ли способы изменения прав доступа для COM-безопасности с помощью командного файла? Мне нужно записать новые значения в "Редактировать ограничения..." и "Редактировать по умолчанию..." в "Разрешения на доступ" и "Разрешения на запуск и активацию" с помощью пакетного сценария. Я использую машины с Windows XP с пакетом обновления 2 и 3.
Спасибо.
2 ответа
Недавно у меня возникла необходимость создать пакетный сценарий для предоставления разрешений локальной активации по умолчанию, чтобы я мог запускать внепроцессный COM-компонент в Windows Azure. После долгих исследований я использовал инструмент RegFromApp (ссылка на скачивание находится внизу страницы), чтобы увидеть, какие изменения были внесены в реестр Windows, когда я предоставил вышеупомянутые разрешения для виртуальной машины Windows Server 2008 R2. Вот шаги, которые я использовал, чтобы определить, какие изменения нужно внести в реестр...
- Поступил
dcomcnfg
в командной строке для запуска служб компонентов - Запущена программа RegFromApp
- В RegFromApp, выберите процесс mmc.exe и нажмите кнопку ОК, чтобы проверить, какие изменения он внесет в реестр
- Вернитесь в Службы компонентов, разверните элемент Службы компонентов в левой панели.
- Элемент "Расширенные компьютеры" на левой панели
- Щелкните правой кнопкой мыши элемент " Мой компьютер" на левой панели и выберите " Свойства" во всплывающем меню.
- Выбранная вкладка COM Security
- В окне Разрешения на запуск и активацию нажал кнопку Изменить по умолчанию
- Нажал кнопку Добавить
- Поступил
IIS_IUSRS
в пустом поле нажал кнопку Проверить имена и нажал кнопку ОК - Установите флажок Разрешить для локальной активации и нажмите кнопку ОК.
- Нажмите кнопку Применить, затем кнопку ОК
- Вернувшись в программу 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 - отличная книга на эту тему, хотя и немного устаревшая в наши дни. Это то, что я работал над таким компонентом несколько лет назад.