我想,这段Powershell代码将启动/关闭一个COM+。
$comAdmin= New-Object -com ("COMAdmin.COMAdminCatalog.1")
$comAdmin.ShutdownApplication("pkgAdap2")
$comAdmin.StartApplication("pkgAdap2")Powershell不会抱怨。但是,如何查看和查看应用程序是否已关闭/启动?我可以在组件服务窗口中看到它,但不确定如何判断它是否正在运行。
有没有什么简单的方法可以用Powershell来告诉我呢?我发现有一个名为"IsPaused“的COMAdminCatalogObject,它返回true或false。但是,我不知道如何引用它。我找到的所有示例和解决方案都是通过组件服务中的所有应用程序的多行循环。我在想像这样的东西是可行的:
$comAdmin.IsPaused("pkgAdap2")发布于 2017-01-11 12:02:09
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"
}
}您可以使用以下命令启动或停止:
$comAdmin.StartApplication("appName")
$comAdmin.ShutdownApplication("appName")对于安装:
请参阅:Microsoft Link
$comAdmin.InstallApplication("fileName")对于关闭所有COM的
$sb = {
$admin = New-Object -Com ("COMAdmin.COMAdminCatalog")
$apps = $admin.GetCollection("Applications")
$apps.Populate()
$apps | % {
$component = $apps.GetCollection("Components", $_.Key)
$component.Populate()
$component | % {
$admin.ShutdownApplication("$_.Name")
}
}
}
$servers | % {Invoke-Command -ComputerName $_ -ScriptBlock $sb} 希望能有所帮助。
发布于 2017-01-11 15:04:00
在这里:
$catalog = New-Object -ComObject "COMAdmin.COMAdminCatalog"
$appCollection = $catalog.GetCollection("Applications")
$appCollection.Populate()
$appList = @{}
$appCollection | ForEach-Object {
$appList.Add($_.Value("ID"), $_.Name)
}
$appInstances = $catalog.GetCollection("ApplicationInstances")
$appInstances.Populate()
$appInstanceList = @{}
$appInstances | ForEach-Object {
$appValue = $_.Value("Application")
$appInstanceList.Add($appValue, $appList[$appValue])
}
$appList.Keys | ForEach-Object {
New-Object PSObject -Property @{
"Name" = $appList[$_]
"ID" = $_
"Running" = $appInstanceList.ContainsKey($_)
}
}https://stackoverflow.com/questions/41580808
复制相似问题