Похоже, вы бы сделали это с помощью WMI.
Получите экземпляр: Win32_DCOMApplicationSetting
следующим образом:
$dcom = Get-WMIObject -Class Win32_DCOMApplicationSetting -Filter 'Description="Something"'
Теперь у вас есть доступ к методам SetAccessSecurityDescriptor
и SetLaunchSecurityDescriptor
.
Откуда: http://msdn.microsoft.com/en-us/library/windows/desktop/aa384905(v=vs.85).aspx
DCOM-приложения
Экземпляры приложения DCOM имеют несколько дескрипторов безопасности. Начиная с Windows Vista, используйте методы класса Win32_DCOMApplicationSetting для получения или изменения различных дескрипторов безопасности. Дескрипторы безопасности возвращаются как экземпляры класса Win32_SecurityDescriptor.
Чтобы получить или изменить разрешения на настройку, вызовите методы GetConfigurationSecurityDescriptor или SetConfigurationSecurityDescriptor.
Чтобы получить или изменить права доступа, вызовите методы GetAccessSecurityDescriptor или SetAccessSecurityDescriptor.
Чтобы получить или изменить разрешения на запуск и активацию, вызовите методы GetLaunchSecurityDescriptor или SetLaunchSecurityDescriptor.
Windows Server 2003, Windows XP, Windows 2000, Windows NT 4.0 и Windows Me/98/95: методы дескриптора безопасности Win32_DCOMApplicationSetting недоступны.
Существует также инструмент под названием DCOMPERM, исходный код которого доступен в Windows SDK: http://www.microsoft.com/en-us/download/details.aspx?id=8279
Вы можете найти скомпилированные версии в Интернете, если вы ищете скомпилированный DCOMPERM.
Вот параметры командной строки:
Syntax: dcomperm <option> [...]
Options:
Modify or list the machine access permission list
-ma <"set" or "remove"> <Principal Name> ["permit" or "deny"] ["level:l,r"]
-ma list
Modify or list the machine launch permission list
-ml <"set" or "remove"> <Principal Name> ["permit" or "deny"] ["level:l,r,ll,la,rl,ra"]
-ml list
Modify or list the default access permission list
-da <"set" or "remove"> <Principal Name> ["permit" or "deny"] ["level:l,r"]
-da list
Modify or list the default launch permission list
-dl <"set" or "remove"> <Principal Name> ["permit" or "deny"] ["level:l,r,ll,la,rl,ra"]
-dl list
Modify or list the access permission list for a specific AppID
-aa <AppID> <"set" or "remove"> <Principal Name> ["permit" or "deny"] ["level:l,r"]
-aa <AppID> default
-aa <AppID> list
Modify or list the launch permission list for a specific AppID
-al <AppID> <"set" or "remove"> <Principal Name> ["permit" or "deny"] ["level:l,r,ll,la,rl,ra"]
-al <AppID> default
-al <AppID> list
level:
ll - local launch (only applies to {ml, dl, al} options)
rl - remote launch (only applies to {ml, dl, al} options)
la - local activate (only applies to {ml, dl, al} options)
ra - remote activate (only applies to {ml, dl, al} options)
l - local (local access - means launch and activate when used with {ml, dl, al} options)
r - remote (remote access - means launch and activate when used with {ml, dl, al} options)
person
Andy Arismendi
schedule
10.07.2012