在powershell中使用DcomPerm.exe和SetAcl.exe的替代方法
我正在编写一个脚本,并试图减少它对外部文件的依赖性。目前,我正在以以下方式调用DComPerm.exe和SetAcl.exe: DComPerm.exe在powershell中使用DcomPerm.exe和SetAcl.exe的替代方法,powershell,Powershell,我正在编写一个脚本,并试图减少它对外部文件的依赖性。目前,我正在以以下方式调用DComPerm.exe和SetAcl.exe: DComPerm.exe $newGroup = "JFSLJSDFJ\Mst-SvcAccounts" $daListResult = .\DComPerm.exe -da list $dlListResult = .\DComPerm.exe -dl list .\DComPerm.exe -da set $newGroup permit level:r,l $r
$newGroup = "JFSLJSDFJ\Mst-SvcAccounts"
$daListResult = .\DComPerm.exe -da list
$dlListResult = .\DComPerm.exe -dl list
.\DComPerm.exe -da set $newGroup permit level:r,l
$registryPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\34242342435435"
.\SetACL.exe -on $registryPath -ot reg -actn setowner -ownr "n:$machineHost\Administrators"
.\SetACL.exe -on $registryPath -ot reg -actn ace -ace "n:$machineHost\Administrators;p:full"
SetACL.exe
$newGroup = "JFSLJSDFJ\Mst-SvcAccounts"
$daListResult = .\DComPerm.exe -da list
$dlListResult = .\DComPerm.exe -dl list
.\DComPerm.exe -da set $newGroup permit level:r,l
$registryPath = "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\34242342435435"
.\SetACL.exe -on $registryPath -ot reg -actn setowner -ownr "n:$machineHost\Administrators"
.\SetACL.exe -on $registryPath -ot reg -actn ace -ace "n:$machineHost\Administrators;p:full"
是否可以将这些调用替换为Powershell代码以减少对文件的依赖关系?您可以使用以下方法:
$newGroup = "JFSLJSDFJ\Mst-SvcAccounts"
$daListResult = .\DComPerm.exe -da list
$dlListResult = .\DComPerm.exe -dl list
& ".\DComPerm.exe -da set $newGroup permit level:r,l"
或
或
您也可以为ACL合并相同的内容。传递参数时需要一些转义序列
您可以创建Win32\u DCOMApplicationSetting的实例:
$dcomperm=Get-WMIObject -Class Win32_DCOMApplicationSetting
DCOM应用程序实例具有多个安全描述符。从Windows Vista开始,使用Win32_DCOMApplicationSetting类的方法获取或更改各种安全描述符。安全描述符作为Win32_SecurityDescriptor类的实例返回
以下是我从这里获得的DCOM设置代码:
参考链接:
设置ACl将帮助您执行SetACL.exe工作
希望能有所帮助。您可以使用以下内容:
$newGroup = "JFSLJSDFJ\Mst-SvcAccounts"
$daListResult = .\DComPerm.exe -da list
$dlListResult = .\DComPerm.exe -dl list
& ".\DComPerm.exe -da set $newGroup permit level:r,l"
或
或
您也可以为ACL合并相同的内容。传递参数时需要一些转义序列
您可以创建Win32\u DCOMApplicationSetting的实例:
$dcomperm=Get-WMIObject -Class Win32_DCOMApplicationSetting
DCOM应用程序实例具有多个安全描述符。从Windows Vista开始,使用Win32_DCOMApplicationSetting类的方法获取或更改各种安全描述符。安全描述符作为Win32_SecurityDescriptor类的实例返回
以下是我从这里获得的DCOM设置代码:
参考链接:
设置ACl将帮助您执行SetACL.exe工作
希望能有所帮助。嗨,谢谢你的回复,但我正试图摆脱使用
DcomPerm.exe
。你知道这是怎么可能的吗?@methuselah:你可以创建一个Win32\u DCOMApplicationSetting的实例不,你必须像示例中所示那样设置不同的参数。也请点击链接。对于ACL,您可以直接使用设置ACL
来完成您的工作。答案中提到的链接是参考链接DCOM设置。在这种情况下,我必须检查成员。请检查这一点,谢谢你的回复,但我正试图摆脱使用DcomPerm.exe
。你知道这是怎么可能的吗?@methuselah:你可以创建一个Win32\u DCOMApplicationSetting的实例不,你必须像示例中所示那样设置不同的参数。也请点击链接。对于ACL,您可以直接使用设置ACL
来完成您的工作。答案中提到的链接是参考链接DCOM设置。在这种情况下,我必须检查成员。请检查一下