如何用PowerShell获取COM+应用程序的Remote Server Name配置值
获取组件服务应用程序的「Remote Server Name」配置值
你要找的「激活」选项卡中的"Remote Server Name"并非Applications集合的直接属性,而是隶属于目标应用对应的Activation子集合。可以通过以下修改后的PowerShell脚本获取该值:
Add-Type -AssemblyName "System.EnterpriseServices" $comAdmin = New-Object -ComObject COMAdmin.COMAdminCatalog $applications = $comAdmin.GetCollection("Applications") $applications.Populate() foreach ($app in $applications) { $appName = $app.Name Write-Output "Application Name: $appName" # 回收配置(原有代码) $recycleLifetimeLimit = $app.Value("RecycleLifetimeLimit") $recycleMemoryLimit = $app.Value("RecycleMemoryLimit") $recycleCallLimit = $app.Value("RecycleCallLimit") $recycleActivationLimit = $app.Value("RecycleActivationLimit") $recycleExpirationTimeout = $app.Value("RecycleExpirationTimeout") Write-Output " RecycleLifetimeLimit: $recycleLifetimeLimit" Write-Output " RecycleMemoryLimit: $recycleMemoryLimit" Write-Output " RecycleCallLimit: $recycleCallLimit" Write-Output " RecycleActivationLimit: $recycleActivationLimit" Write-Output " RecycleExpirationTimeout: $recycleExpirationTimeout" # 获取激活配置中的Remote Server Name $activationCollection = $applications.GetCollection("Activation", $app.Key) $activationCollection.Populate() foreach ($activation in $activationCollection) { $remoteServerName = $activation.Value("RemoteServerName") Write-Output " Remote Server Name: $remoteServerName" } Write-Output "-------------------------" }
关键说明:
- 使用
$applications.GetCollection("Activation", $app.Key)获取当前应用关联的Activation子集合,其中$app.Key是目标应用的唯一标识 - 调用
Populate()加载子集合的配置数据后,即可通过RemoteServerName属性获取对应值
内容的提问来源于stack exchange,提问作者Eduardo Medina
相关产品推荐
相关产品推荐

