ऐसा लगता है कि आप इसे 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_DCOMAplicationSetting कक्षा के विधियों का उपयोग करें। सुरक्षा डिस्क्रिप्टर Win32_SecurityDescriptor कक्षा के उदाहरणों के रूप में लौटाए जाते हैं।
कॉन्फ़िगरेशन अनुमतियों को प्राप्त करने या बदलने के लिए, GetConfigurationSecurityDescriptor या SetConfigurationSecurityDescriptor विधियों को कॉल करें।
एक्सेस अनुमतियां प्राप्त करने या बदलने के लिए, GetAccessSecurityDescriptor या SetAccessSecurityDescriptor विधियों को कॉल करें।
स्टार्टअप और सक्रियण अनुमतियां प्राप्त करने या बदलने के लिए, GetLaunchSecurityDescriptor या SetLaunchSecurityDescriptor विधियों को कॉल करें।
विंडोज सर्वर 2003, विंडोज एक्सपी, विंडोज 2000, विंडोज एनटी 4.0, और विंडोज़ मी/98/95: Win32_DCOM अनुप्रयोग सुरक्षा सुरक्षा वर्णनकर्ता विधियां उपलब्ध नहीं हैं। http://www.microsoft.com/en-us/download/details.aspx?id=8279
यदि आप संकलित DCOMPERM के लिए खोज के आसपास ऑनलाइन संकलित संस्करणों पा सकते हैं:
वहाँ भी एक उपकरण 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)
धन्यवाद एंडी, इससे बहुत मदद मिली है! अंत में मैंने दोनों तरीकों का मिश्रण इस्तेमाल किया। मैंने ऐप आईडी प्राप्त करने के लिए Win32_DCOMAplicationSetting का उपयोग किया, और उसके बाद आवश्यक अनुमतियों को जोड़ने के लिए DComPerm का उपयोग किया। मुझे थोड़ा अजीब लगता था कि सीएमडी ने पावरहेल की तुलना में बहुत कम मुद्दों के साथ डॉकपर्म चलाया, इसलिए मुझे जो चाहिए वह हासिल करने के लिए, मैंने एक बैच फ़ाइल लिखी जहां कुछ चर पारित किए गए, और इसे पावरहेल से बुलाया गया। – Vermin
@ मेरा अनुमान है कि आपके पास PowerShell के साथ समस्याएं हो सकती हैं शायद सिंटैक्स/कमांड लाइन पार्सिंग संबंधित हैं। शायद आपको मिली त्रुटि पोस्ट करें? –