获取身份Windows Com +应用程序?

问题描述:

我已经找到了可以为Com +应用程序设置身份的地方,但无法找到如何获取现有Com +应用程序的身份。获取身份Windows Com +应用程序?

集: How to modify COM+ applications from powershell

得到COM +应用程序的名称,ID,以及它是否正在运行: https://social.technet.microsoft.com/Forums/projectserver/en-US/7b035318-fc4c-41bb-ad9a-33fa51485c57/check-whether-aplication-in-comadmincomadmincatalog-is-running-or-not?forum=ITCG

Dim Catalog, AppCollection, AppList, AppItem 
Set Catalog = CreateObject("COMAdmin.COMAdminCatalog") 
Set AppCollection = Catalog.GetCollection("Applications") 
AppCollection.Populate 
Set AppList = CreateObject("Scripting.Dictionary") 
For Each AppItem In AppCollection 
    AppList.Add AppItem.Value("ID"), AppItem.Name 
Next 

Dim AppInstances, AppInstance, AppInstanceList, Value 
Set AppInstances = Catalog.GetCollection("ApplicationInstances") 
AppInstances.Populate 
Set AppInstanceList = CreateObject("Scripting.Dictionary") 
For Each AppInstance In AppInstances 
    Value = AppInstance.Value("Application") 
    AppInstanceList.Add Value, AppList(Value) 
Next 

For Each AppItem In AppList 
    WScript.Echo vbNewLine _ 
    & "App Name: " & vbTab & AppList(AppItem) & vbNewLine _ 
    & "App ID: " & vbTab & AppItem & vbNewLine _ 
    & "Running? " & vbTab & CStr(AppInstanceList.Exists(AppItem)) 
Next 

所以我想,如果我更改的项目“AppItem.Value(” ID“)',至'AppItem.Value(”Identity“)',那会给我我要找的东西,但是我得到错误---

Script: c:\pathtofile\test.vbs 
Line: 7 
Char: 3 
Error: This key is already associated with an element of this collection 
Code: 800A01C9 
Source: Microsoft VBScript runtime error 
+0

欢迎来到堆栈溢出!请在问题中包含您需要支持问题的链接部分。此外,你需要显示你已经尝试过哪些不起作用,以便这里的人可以帮助你 – Ibo

Const COMAdminAuthenticationDefault = 0 
Const COMAdminAuthenticationNone  = 1 
Const COMAdminAuthenticationConnect = 2 
Const COMAdminAuthenticationCall  = 3 
Const COMAdminAuthenticationPacket = 4 
Const COMAdminAuthenticationIntegrity = 5 
Const COMAdminAuthenticationPrivacy = 6 

Dim catalog 
Dim applications 
Dim application 

Set catalog = CreateObject("COMAdmin.COMAdminCatalog") 
Set applications = catalog.GetCollection("Applications") 

Call applications.Populate 

For Each application In applications 

    If (application.value("Identity") = "domain\username") Then 

Wscript.Echo application.value("Name") 

     Call applications.SaveChanges 
    End If 
Next 
+0

已修改https://stackoverflow.com/questions/4133531/changing-existing-com-applications-identity-via-vbs-script 谢谢严! https://stackoverflow.com/users/274535/yan-sklyarenko –

+1

我的意思是感谢兰迪... https://stackoverflow.com/users/114664/randy-levy –