如何从 PowerShell 管理 COM+?

Cra*_*ste 9 powershell com+

是否有用于管理 COM+ 组件的 PowerShell 模块或命令?特别是,我想:

  • 查询是否安装/注册了 COM+ 应用程序。
  • 启动或停止 COM+ 应用程序。
  • 安装/注册或卸载/取消注册 COM+ 应用程序。

我是 PowerShell 和 COM+ 的新手,所以可能使用了错误的术语(安装与注册等)。

Ame*_*een 17

列出 COM+ 组件

$comAdmin = New-Object -com ("COMAdmin.COMAdminCatalog.1")
$applications = $comAdmin.GetCollection("Applications") 
$applications.Populate() 

foreach ($application in $applications)
{

    $components = $applications.GetCollection("Components",$application.key)
    $components.Populate()
    foreach ($component in $components)
    {

        $dllName = $component.Value("DLL")
        $componentName = $component.Name

        "Component Name:$componentName"
        "DllName: $dllName`n"
    }
}
Run Code Online (Sandbox Code Playgroud)

停止/启动组件

$comAdmin.StartApplication("appName")
$comAdmin.ShutdownApplication("appName")
Run Code Online (Sandbox Code Playgroud)

使用InstallApplication方法安装 Com+ 应用程序

# Refer to: http://msdn.microsoft.com/en-us/library/ms681806(v=vs.85).aspx
$comAdmin.InstallApplication("fileName")
Run Code Online (Sandbox Code Playgroud)