使用批处理文件的 DCOM 安全性

Posted

技术标签:

【中文标题】使用批处理文件的 DCOM 安全性【英文标题】:DCOM Security using a batch file 【发布时间】:2011-07-19 03:15:49 【问题描述】:

是否有任何方法可以使用批处理文件更改 COM 安全的访问权限? 我需要使用批处理脚本在“访问权限”和“启动和激活权限”中将新值写入“编辑限制...”和“编辑默认值...”。 我正在使用带有 Service Pack 2 和 3 的 Windows XP 机器。

谢谢。

【问题讨论】:

【参考方案1】:

我最近需要创建一个批处理脚本来授予默认的本地激活权限,以便我可以在 Windows Azure 上运行进程外 COM 组件。经过大量研究,我使用了一个名为RegFromApp(下载链接在页面底部附近)的工具来查看当我在 Windows Server 2008 R2 VM 上授予上述权限时,Windows 注册表中发生了哪些更改。以下是我用来确定对注册表进行哪些更改的步骤...

    在命令提示符中输入dcomcnfg 以启动组件 服务 推出 RegFromApp 程序 在 RegFromApp 中,选择 mmc.exe 进程并单击 OK 以检查它将进行哪些更改注册 返回组件服务,在左侧面板中展开组件服务项 扩展了左侧面板中的计算机项 右键单击左侧面板中的我的电脑项目并选择属性 从弹出菜单中 已选择 COM 安全 选项卡 在启动和激活权限框中,点击编辑默认值 按钮 点击了添加按钮 在空框中输入IIS_IUSRS,单击检查名称按钮并 点击确定按钮 为本地激活勾选允许并点击确定 按钮 点击应用按钮,然后点击确定按钮 返回 RegFromApp 程序,单击文件菜单中的 另存为 以保存注册表 更改为SetDCOMPermission.reg 文件

在 .reg 文件中记录了注册表更改(即 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OLE 中的 DefaultLaunchPermission 值已修改] 键),我编写了以下批处理脚本来注册我的 COM 组件并通过运行我的 .reg 文件将更改应用到注册表...

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

我相信您可以使用类似的技术在 .reg 文件中记录您要实现的目标所需的注册表更改,并从批处理脚本运行此文件。

希望有帮助!

【讨论】:

【参考方案2】:

我不知道有任何第三方工具可以让您以编程方式创建 ACL。在过去,我只见过使用自定义工具完成此操作,例如VBScript 和 C++ COM 组件或本机命令行工具。

如果您确实想走这条路,那么Keith Brown's Programming Windows Security 是一本关于该主题的优秀书籍,如果这些天有点老的话。几年前,我曾经在这样一个组件上工作过。

【讨论】:

以上是关于使用批处理文件的 DCOM 安全性的主要内容,如果未能解决你的问题,请参考以下文章

使用 DCOM 处理线程

MAC应用无法打开或文件损坏的处理方法

MAC应用无法打开或文件损坏的处理方法

MAC应用无法打开或文件损坏的处理方法

MAC应用无法打开或文件损坏的处理方法

Mac应用程序无法打开或文件损坏的处理方法