2017-10-10 89 views
0

我已經找到了可以爲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

回答

0
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 –

相關問題