• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2843
  • Last Modified:

How to set a user permission within a DCOM Config trough a batch procedure

Hi,
In dcomcnfg\component services\computers\My Computer\dcom config\     propreties on one of the components
Security tab\costomize add user. Is there any way to add users and set permission using an automatic procedure or utility, on that component.
0
gregajesih
Asked:
gregajesih
1 Solution
 
dave_moatsCommented:
Interesting topic, I did some searching and found the following EE link:

   http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_21496861.html

This and all the other links I found talk about using something called "dcomperm".  It appears that dcomperm is an SDK sample from Microsoft located:

   http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcsample98/html/vcsmpdcompermpermissionsforcomserver.asp

Using this link will take you to the Visual Studio 6.0 Samples, all the samples are about a 132Mb download

After installing the samples, open the .chm file and search for dcomperm.  This will give you a link to the actual source code.  Once you have extracted this and compiled it, you will be able to use dcomperm.  View the README.txt file, it appears to have instructions on how to use the exe.

There appeard to be some WMI options for Longhorn and Vista according to:
 
   http://www.mcse.ms/archive68-2006-3-2141217.html
   
Which appears to be talking about:

   http://windowssdk.msdn.microsoft.com/en-us/library/ms748750.aspx

   ( Look for SetLaunchSecurityDescriptor )
   
Here is a way to query the dcom permissions using WMI:

   http://mail.nessus.org/pipermail/plugins-writers/2006-September/msg00000.html
0
 
McKnifeCommented:
What are you trying to achieve, do you want do that remotely, or deploy it, or?
In HKEY_CLASSES_ROOT\AppID\{783C030F-E948-487D-B35D-94FCF0F0C172} for example, there are launch permissions that get altered when altering acccess rights on Blocked Drivers which has that ID (783...), so a Start would be to extract these keys.
0
 
gregajesihAuthor Commented:
The link from the topic that you found for me, has a script that works excactly as I  want it to.
So, thank you very much dave

On Error Resume Next

'TRUE = 1
'FALSE = 0
DCP_ACL_LAUNCH = 1
DCP_ACL_ACCESS = 2
DCP_E_NO_ACCESS        = &H8004a001
DCP_E_NO_ACL           = &H8004a002
DCP_E_INVALID_OBJECT   = &H8004a003
DCP_E_INVALID_TYPE     = &H8004a004
DCP_E_MUST_BE_ADMIN    = &H8004a005
DCP_E_NO_MORE_ENTRIES  = &H8004a006
DCP_E_INVALID_VERSION  = &H8004a007
DCP_E_OBJ_IS_A_SERVICE = &H8004a008
DCP_E_UNSUPPORTED      = &H8004a009
DCP_E_NO_VALUE         = &H8004a00a
DCP_E_UNKNOWN_USER     = &H8004a00b
DCP_E_NO_APPID         = &H8004a00c

Dim GOSh
Dim dcomperm
Set GOSh = CreateObject("WScript.Shell")
Set dcomperm = CreateObject ("DCOMPerm")
     If Err Then
     Err.Clear
     GOSh.run "dcpinst.exe",0,True
     Set dcomperm = CreateObject ("DCOMPerm")
          If Err Then
          WScript.Echo "Unable to install DCOM Permissions! They will have to be set via DCOMCNFG.",,"DCOM Permmissions"
          WScript.Quit(1)
          End If
     End If
dcomperm.AddPrincipal "Appid:{0737E50A-4C76-4ff7-BB21-A85596F0D004}",DCP_ACL_ACCESS, "YOURDOMAIN\YourGroupORUser", "1"
     If Err Then
     WScript.Echo "Unable to install DCOM Permissions! They will have to be set via DCOMCNFG.",,"DCOM Permmissions"
     WScript.Quit(2)
     End If
dcomperm.AddPrincipal "Appid:{0737E50A-4C76-4ff7-BB21-A85596F0D004}",DCP_ACL_LAUNCH, "YOURDOMAIN\YourGroupORUser", "1"
     If Err Then
     WScript.Echo "Unable to install DCOM Permissions! They will have to be set via DCOMCNFG.",,"DCOM Permmissions"
     WScript.Quit(2)
     End If
0

Featured Post

Who's Defending Your Organization from Threats?

Protecting against advanced threats requires an IT dream team – a well-oiled machine of people and solutions working together to defend your organization. Download our resource kit today to learn more about the tools you need to build you IT Dream Team!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now