Q. You cannot clear the Enable Authentication check box for a COM+ library application in the Component Services administrative tool in Windows Server 2003?

You cannot clear the Enable Authentication check box for a COM+ (Component Object Model) library application in Component Services on Windows Server 2003.

This behavior is the result of conflict in the data update process that occurs between the GUI and the COM+ catalog.

Microsoft had written the ChangeAuthentication.vbs script to modify the authentication property of a COM+ library application.

The syntax for using the ChangeAuthentication.vbs script is:

cscript ChangeAuthentication.vbs <ApplicationName> <on/off>

Where:

<ApplicationName> is the COM+ library application for which you want to change the authentication property.
<on/off>          is on to enable authentication and off to disable authentication.
NOTE: If you use ChangeAuthentication.vbs to disable authentication, the user interface for the Component Services tool will still display a selected Enable Authentication check box.

ChangeAuthentication.vbs contains:

Option Explicit
Dim AppName
Dim oArgs
Dim lRet
Dim Switch
Set oArgs = WScript.Arguments
If oArgs.Length  2 Then
	WScript.Echo "usage:"
	WScript.Echo ">cscript ChangeAuthentication.vbs "
Else
	AppName = oArgs(0)
	Switch = oArgs(1)
	lRet = EnableAuthentication(AppName, Switch)
End If

'====================================================

' EnableAuthentication ' Param stAppName COM+ Application name ' Param stSwitch on - check "Authentication", off - uncheck '

==================================================== Function EnableAuthentication(stAppName, stSwitch) Dim oCatalog Dim oApps Dim oApp Set oCatalog = CreateObject("ComAdmin.COMAdminCatalog") Set oApps = oCatalog.GetCollection("Applications") oApps.Populate WScript.Echo("Searching " & stAppName & "...") For Each oApp In oApps If UCase(oApp.Name) = UCase(stAppName) Then WScript.Echo("Found " & stAppName & ". ") Exit For Else ' WScript.Echo("AppName " & oApp.Name & " No Match.") End If Next If oApp.Value("Activation") 0 Then WScript.Echo("AppName " & oApp.Name & " is not Library Application.") EnableAuthentication = -1 Exit Function End If If UCase(stSwitch) = UCase("on") Then oApp.Value("Authentication") = 0 ElseIf UCase(stSwitch) = UCase("off") Then oApp.Value("Authentication") = 1 Else WScript.Echo("Switch is invalid.") EnableAuthentication = -1 Exit Function End If oApps.SaveChanges() WScript.Echo("Finished.") EnableAuthentication = 0 End Function


Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish