从 Linux OMI (omicli) 到 Windows WMI 的连接失败并出现 DMTF 相关错误
Connection from Linux OMI (omicli) to Windows WMI fails with DMTF related error
我正在用 C++ 在 CentOs 上实现 OMI 客户端以与 windows WMI 通信
我在 Linux CentOS 7 上安装了 OMI 并尝试连接到 Windows 7
使用 OMI 提供的示例实用程序。
参考:https://github.com/Microsoft/omi
还在 Windows 上配置了 WINRM 以接收基本身份验证调用。
我无法让示例正常工作。出现以下错误:
root@LinuxMachine bin]# ./omicli --auth Basic --hostname WinMachine.TEST.COM -u admin -p adminpassaword ei root/cimv2 Win32_Environment --port 5985
./omicli: result: MI_RESULT_FAILED
./omicli: result: ERROR_INTERNAL_ERROR: The WS-Management service cannot process the request. A DMTF resource URI was used to access a non-DMTF class. Try again using a non-DMTF resource URI.
下面是目标机器的WINRM配置,供参考
C:\Windows\system32>winrm 获取 winrm/config
Config
MaxEnvelopeSizekb = 150
MaxTimeoutms = 60000
MaxBatchItems = 32000
MaxProviderRequests = 4294967295
Client
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = true [Source="GPO"]
Auth
Basic = true [Source="GPO"]
Digest = true [Source="GPO"]
Kerberos = true [Source="GPO"]
Negotiate = true [Source="GPO"]
Certificate = true
CredSSP = true [Source="GPO"]
DefaultPorts
HTTP = 5985
HTTPS = 5986
TrustedHosts
Service
RootSDDL = O:NSG:BAD:P(A;;AG;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)
MaxConcurrentOperations = 4294967295
MaxConcurrentOperationsPerUser = 15
EnumerationTimeoutms = 60000
MaxConnections = 25
MaxPacketRetrievalTimeSeconds = 120
AllowUnencrypted = true
Auth
Basic = true [Source="GPO"]
Kerberos = true [Source="GPO"]
Negotiate = true [Source="GPO"]
Certificate = false
CredSSP = true [Source="GPO"]
CbtHardeningLevel = Relaxed
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = *
IPv6Filter = *
EnableCompatibilityHttpListener = false
EnableCompatibilityHttpsListener = false
CertificateThumbprint
Winrs
AllowRemoteShellAccess = true
IdleTimeout = 180000
MaxConcurrentUsers = 5
MaxShellRunTime = 2147483647
MaxProcessesPerShell = 15
MaxMemoryPerShellMB = 150
MaxShellsPerUser = 5
我是不是遗漏了什么明显的东西?非常感谢任何帮助示例工作的帮助。
我遇到过类似的问题。我通过在我的服务器上升级 power-shell 版本解决了这个问题。
Windows 7 默认显示使用 powershell 版本 2.0.
PS C:\> test-wsman <clientName>
wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 2.0
默认情况下,CIM 会话使用 WSMAN 协议,特别是较新版本的协议。
这不适用于计算机 运行 powershell 2.0 版或根本没有 powershell。
升级您的解决方案。
参考URLhttps://mcpmag.com/articles/2013/05/07/remote-to-second-powershell.aspx了解更多详情。
我正在用 C++ 在 CentOs 上实现 OMI 客户端以与 windows WMI 通信 我在 Linux CentOS 7 上安装了 OMI 并尝试连接到 Windows 7 使用 OMI 提供的示例实用程序。
参考:https://github.com/Microsoft/omi
还在 Windows 上配置了 WINRM 以接收基本身份验证调用。
我无法让示例正常工作。出现以下错误:
root@LinuxMachine bin]# ./omicli --auth Basic --hostname WinMachine.TEST.COM -u admin -p adminpassaword ei root/cimv2 Win32_Environment --port 5985
./omicli: result: MI_RESULT_FAILED
./omicli: result: ERROR_INTERNAL_ERROR: The WS-Management service cannot process the request. A DMTF resource URI was used to access a non-DMTF class. Try again using a non-DMTF resource URI.
下面是目标机器的WINRM配置,供参考
C:\Windows\system32>winrm 获取 winrm/config
Config
MaxEnvelopeSizekb = 150
MaxTimeoutms = 60000
MaxBatchItems = 32000
MaxProviderRequests = 4294967295
Client
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = true [Source="GPO"]
Auth
Basic = true [Source="GPO"]
Digest = true [Source="GPO"]
Kerberos = true [Source="GPO"]
Negotiate = true [Source="GPO"]
Certificate = true
CredSSP = true [Source="GPO"]
DefaultPorts
HTTP = 5985
HTTPS = 5986
TrustedHosts
Service
RootSDDL = O:NSG:BAD:P(A;;AG;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)
MaxConcurrentOperations = 4294967295
MaxConcurrentOperationsPerUser = 15
EnumerationTimeoutms = 60000
MaxConnections = 25
MaxPacketRetrievalTimeSeconds = 120
AllowUnencrypted = true
Auth
Basic = true [Source="GPO"]
Kerberos = true [Source="GPO"]
Negotiate = true [Source="GPO"]
Certificate = false
CredSSP = true [Source="GPO"]
CbtHardeningLevel = Relaxed
DefaultPorts
HTTP = 5985
HTTPS = 5986
IPv4Filter = *
IPv6Filter = *
EnableCompatibilityHttpListener = false
EnableCompatibilityHttpsListener = false
CertificateThumbprint
Winrs
AllowRemoteShellAccess = true
IdleTimeout = 180000
MaxConcurrentUsers = 5
MaxShellRunTime = 2147483647
MaxProcessesPerShell = 15
MaxMemoryPerShellMB = 150
MaxShellsPerUser = 5
我是不是遗漏了什么明显的东西?非常感谢任何帮助示例工作的帮助。
我遇到过类似的问题。我通过在我的服务器上升级 power-shell 版本解决了这个问题。
Windows 7 默认显示使用 powershell 版本 2.0.
PS C:\> test-wsman <clientName>
wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 2.0
默认情况下,CIM 会话使用 WSMAN 协议,特别是较新版本的协议。 这不适用于计算机 运行 powershell 2.0 版或根本没有 powershell。 升级您的解决方案。
参考URLhttps://mcpmag.com/articles/2013/05/07/remote-to-second-powershell.aspx了解更多详情。