gpt4 book ai didi

powershell - 是否有一个简单的 Powershell 命令来判断 COM+ 应用程序是否已暂停?

转载 作者:行者123 更新时间:2023-12-02 23:24:04 25 4
gpt4 key购买 nike

我在想这个 Powershell 代码将启动/关闭 COM+。

$comAdmin= New-Object -com ("COMAdmin.COMAdminCatalog.1")

$comAdmin.ShutdownApplication("pkgAdap2")

$comAdmin.StartApplication("pkgAdap2")

Powershell 没有提示。但是我如何查看应用程序是否已关闭/启动?我可以在“组件服务”窗口中看到它,但不确定如何判断它是否正在运行。

有没有一种简单的方法可以使用 Powershell 来告诉我这一点?
我发现有一个名为“IsPaused”的 COMAdminCatalogObject 返回真或假。但是,我不知道如何引用它。我发现的所有示例和解决方案都是通过组件服务中的所有应用程序的多行循环。
我在想这样的事情会起作用:
$comAdmin.IsPaused("pkgAdap2")

最佳答案

通讯录

$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}

希望能帮助到你。

关于powershell - 是否有一个简单的 Powershell 命令来判断 COM+ 应用程序是否已暂停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41580808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com