2017-10-10 5 views
0

Com + 응용 프로그램의 ID를 설정할 위치를 찾았지만 기존 Com + 응용 프로그램의 ID를 얻는 방법을 찾을 수 없습니다.Identity Windows Com + 응용 프로그램을 가져 오시겠습니까?

세트 : How to modify COM+ applications from powershell

COM + 응용 프로그램 이름, ID를 얻을하고 있는지 실행 : 나는 "(항목 'AppItem.Value을 변경하는 경우 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 

그래서 내가 생각 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 –