Машина Windows, которую я использую:
Пользователь, которого я использую:
Это команда, которую я использовал, чтобы запустить ее непосредственно на машине с ip 10.10.123.123, вошел в систему как тот же пользователь, что и удаленная команда.
Get-WSManInstance -Enumerate -ResourceURI wmicimv2/* -Dialect WQL -Filter "SELECT PercentProcessorTime, Timestamp_Sys100NS FROM Win32_PerfRawData_Counters_ProcessorInformation WHERE NOT Name LIKE '%_Total'"
xsi : http://www.w3.org/2001/XMLSchema-instance
w : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
m : http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd
lang : en-US
PercentProcessorTime : 1616986718750
Timestamp_Sys100NS : 131753759127044458
xsi : http://www.w3.org/2001/XMLSchema-instance
w : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
m : http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd
lang : en-US
PercentProcessorTime : 1613812500000
Timestamp_Sys100NS : 131753759127044458
xsi : http://www.w3.org/2001/XMLSchema-instance
w : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
m : http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd
lang : en-US
PercentProcessorTime : 1606279375000
Timestamp_Sys100NS : 131753759127044458
xsi : http://www.w3.org/2001/XMLSchema-instance
w : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
m : http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd
lang : en-US
PercentProcessorTime : 1604592187500
Timestamp_Sys100NS : 131753759127044458
Это команда, которую я запускал. Я могу запустить его с 10.10.123.123 или с отдельной машины Windows. Независимо от того, где, результат пустой. Сообщение об ошибке отсутствует.
$cred = Get-Credential
Get-WSManInstance -Enumerate -ResourceURI wmicimv2/* -Dialect WQL -Filter "SELECT PercentProcessorTime, Timestamp_Sys100NS FROM Win32_PerfRawData_Counters_ProcessorInformation WHERE NOT Name LIKE '%_Total'" -ComputerName 10.10.123.123 -useSSL -SessionOption (New-WSManSessionOption -SkipCACheck -SkipCNCheck) -Credential $cred
# The result is empty unlikely the local command.
Какие разрешения необходимы для удаленного запроса Win32_PerfRawData_Counters_ProcessorInformation и аналогичных объектов? Каков метод определения разрешений для подобных объектов, например Win32_Service?
Я в основном использовал это как справочник для настройки удаленного доступа WMI без необходимости в учетной записи администратора от Ондрея Севечека. https://www.sevecek.com/Lists/Posts/Post.aspx?ID=280
После долгих поисков я наткнулся на эту статью http://vniklas.djungeln.se/2012/08/22/set-up-non-admin-account-to-access-wmi-and-performance-data-remotely-with-powershell/ который предложил добавить пользователя в группу «Пользователи монитора производительности». После этого Win32_PerfRawData_Counters_ProcessorInformation возвращает результаты по удаленным запросам! :)
К сожалению, мне все еще отказывают в доступе для Win32_Service. Таким образом, остается вопрос о том, каков общий метод определения разрешений, необходимых для каждого объекта wmi.