powershell - 使用 PowerShell 连接到 JMX

标签 powershell rmi jmx

我不是开发人员,因此在阅读以下消息时请记住这一点:

我需要能够使用 Windows PowerShell 连接到主机上的 JMX RMI 代理,这可能吗?

我得到的来自 java 客户端的示例字符串如下:

JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:7979/jmxrmi");

这样做的原因是我在我的 PowerShell 脚本中做其他工作,并希望将它们全部保存在一个地方。

谢谢 !

最佳答案

这是两种技术的不寻常组合,但它是可能的。

如果您尝试连接到 JBoss 服务器,最快的方法可能是调用 twiddle。 ,一个命令工具,它将 JMX 请求发送到目标 JBoss 服务器并将结果返回到标准输出。

另一种方法是实现 Jolokia目标服务器上的代理。这将允许您使用 REST 发出 JMX 请求。响应也将以 REST 格式返回,您可以使用 these solutions 之一在 PowerShell 中进行处理。 .

第三,您还可以部署JMX-WS目标服务器上的服务,这将允许您使用 Web 服务与 JMX 服务器进行通信。这个document提供了一些 VBScript 示例。

以上都没有实际使用您概述的 JMXServiceURL 语法,我想不出一种方法可以将这个基于 RMI 的协议(protocol)真正干净地集成到 PowerShell 中,但希望以上其中一个对您有用。

========== 更新 ==========

可能有一种方法可以使用 RMI 实现。看看IKVM .它是 .NET 编译器的 Java 字节码。我已经成功地将 JMX/RMI java 代码编译成 .Net 程序集并从 C# 中使用它。我认为 PowerShell 会做同样的事情。

关于powershell - 使用 PowerShell 连接到 JMX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6925023/

相关文章:

java - RMI 注册表远程异常错误

java - 如何使用注释 @MBean 指定 mbean 的名称

powershell - ExecutionContext.InvokeCommand.ExpandString 在 PowerShell 4.0 中引发异常

linux - ansible 2.3> 在检查 Windows 主机时,错误 : Thread failed to start

java - 检查 RMI 连接的更好方法

java - RMI:RMI Reaper 线程、UnicastRemoteObject 和Registry

java - 启用 JMX 会导致 java.lang.OutOfMemoryError : PermGen space

java - 强制 Spring 的 MBeanExporter 使用特定的 MBeanServer

powershell - 删除除一个文件夹和所有根文件以外的所有文件夹/文件

powershell - 错误(消息 :Cannot find requested collection element.)Docker IIS