Не удается подключиться к Linux OMI (omicli) к Windows WMI из-за ошибки, связанной с DMTF

Я реализую клиент OMI на CentO в C ++ для связи с Windows WMI
Я установил OMI на Linux CentOS 7 и пытаюсь подключиться к Windows 7
используя примерную утилиту, предоставленную OMI.

Ссылка: https://github.com/Microsoft/omi

Также настроен WINRM на Windows для получения вызовов базовой аутентификации.

Я не могу заставить работать образец. Получение следующей ошибки:

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

Я что-то упускаю из виду? Любая помощь с получением образца высоко ценится.

1

Решение

Я столкнулся с подобной проблемой. Я решил эту проблему, обновив версию 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.
Обновите свой, чтобы решить эту проблему.

Ссылка URL https://mcpmag.com/articles/2013/05/07/remote-to-second-powershell.aspx Больше подробностей.

2

Другие решения

Других решений пока нет …