As far as I know you can recycle a COM+ app by using...
List COM+ components
$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"
}
}
Stop/Start Components
$comAdmin.StartApplication("appName")
$comAdmin.ShutdownApplication("appName")
But how can we detect that our COM+ app has crashed - can this be detected by a PowerShell script?