问题标签 [cim]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - 检索特定驱动器数据 - Get-WmiObject Win32_logicaldisk
我正在尝试使用 Get-WmiObject 检索特定驱动器的 FreeSpace。
在我的机器上使用 Get-WmiObject Win32_logicaldisk 返回以下内容:
我想根据我指定的驱动器号 (DeviceID) 专门请求 FreeSpace,但是我不确定如何执行此操作,因为我对 powershell 还比较陌生。任何帮助,将不胜感激。
c# - 获取 CIM_Tachometer 的当前读数以获取风扇当前速度
我正在研究一个应该包括计算机粉丝状态的项目。我需要的大部分属性都可以从Win32_Fan
类中获得。遗憾的是,我找不到使用此类获取当前风扇速度读数的方法。在Win32_Fan MSDN 页面中,“DesiredSpeed”属性中提到当前速度由名为的传感器确定CIM_Tachometer
:
期望速度
数据类型:uint64
访问类型:只读
限定词:单位(“每分钟转数”)
当前请求的风扇速度,以每分钟转数定义,当支持变速风扇时(VariableSpeed 为 TRUE)。当前速度由使用CIM_AssociatedSensor关系与风扇关联的传感器 ( CIM_Tachometer ) 确定。
此属性继承自 CIM_Fan。
有关在脚本中使用 uint64 值的更多信息,请参阅 WMI 中的脚本。
看到之后,我搜索了这个 Tachometer CIM 传感器并找到了以下代码片段(取自http://wutils.com/wmi/root/cimv2/cim_tachometer/cs-samples.html):
所以我尝试在我的代码中实现它:
令我惊讶的是,当前阅读的整个部分似乎在运行时被跳过了。无论如何都会发生!
我的问题是,为什么这一部分被跳过了?转速表是不能使用的传感器吗?它是否由于某种原因被禁用?
提前谢谢。
附言
我正在 Microsoft Visual Studio 2015 中使用 winforms 作为用户界面编写程序。
c# - 如何使用 WMI 未实现的 CIM 方法?
我目前正在进行的一个项目涉及到很多硬件问题。因此,我使用了很多与 WMI 相关的代码。我注意到在几个 MSDN 页面上,例如Win32_Fan,有一些 CIM 方法没有实现,因此不能使用。例如,我想使用 CIM_Fan 方法 SetSpeed。此方法的MSDN 页面说明如下:
WMI 目前未实现此方法。要使用此方法,您必须在您自己的提供程序中实现它。
本文档源自 DMTF 发布的 CIM 类描述。Microsoft 可能已进行更改以更正小错误、符合 Microsoft SDK 文档标准或提供更多信息。
我对此信息有一些疑问:
首先,我认为我不太明白他们说我必须在我自己的提供程序中实现该方法是什么意思。我是否需要实际修改让我的电脑运行的脚本?
其次,我不明白如何在语法方面使用 CIM 方法。
如果有人对其中任何一个的答案有任何想法,将不胜感激。
powershell - 将 WMI 调用转换为 CIM 调用
我正在编写的代码假设使用 CIM 启动当前可用于服务器的任何补丁。由于我的网络需要 DCOM 协议,我必须使用 CIM。
我正在使用 ` 以便于查看
以下 wmi 代码有效:
我使用 CIM 所做的不起作用:
我不仅对我的解决方案感兴趣,Invoke-CimMethod
而且对如何解决它感兴趣。我似乎无法确定如何在 CIM 中查看和实现类的方法。
powershell - 使用 PowerShell CIM 重新启动 2008 Server
我似乎找不到使用 CIM 为 2008 服务器重新启动远程计算机的方法。我所发现的Restart-PcsvDevice
只是这不适用于 2008 年的服务器。有没有办法使用 CIM 重新启动 2008 服务器?由于我的网络需要 DCOM 协议,我必须使用 CIM。
c# - 在 CIMInstance 中转换参数
我正在使用 Hyper-V WMI 界面,并尝试使用 C# 创建我的本地 Hyper-V VM 之一的快照。我试图在不使用 System.Management 的情况下做到这一点。相反,我使用的是 Microsoft.Management.Infrastructure。原因是 .NET Core 支持它。此外,System.Management.Infrastructure 似乎是 System.Management 的预期替代品。
我无法将正确的参数传递给 CIM_VirtualSystemSnapshotService 类上的“CreateSnapshot”方法的正确参数。
列出的输入参数:
uint32 CreateSnapshot([in] CIM_ComputerSystem REF AffectedSystem, [in] string
SnapshotSettings, [in] uint16
SnapshotType, [in, out] CIM_VirtualSystemSettingData REF ResultingSnapshot, [out] CIM_ConcreteJob REF Job);
但是,这并没有指定哪些是强制性的,是否可以传递 NULL 值等。
我尝试使用的 C# 方法:
这给出了错误“无效参数”。很难具体。
我试图在 Powershell 中重建它:
这给出了这个错误:
Invoke-CimMethod : 参数“AffectedSystem”的类型不匹配在 line:1 char:1 + Invoke-CimMethod -ClassName "Msvm_VirtualSystemSnapshotService" -Meth ... + ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ + CategoryInfo : InvalidType: (root\virtualiza...SnapshotService :String) [Invoke-CimMethod], CimException + FullyQualifiedErrorId : HRESULT 0x80041005,Microsoft.Management.Infrast
ructure.CimCmdlets.InvokeCimMethodCommand
因此,看起来该方法需要一个 CIM_ComputerSystem。但是,我将它传递给 Msvm_ComputerSystem。在 C# 中,它“只是”另一个 CIMInstance。所以,我不能像使用“普通”课程那样从一个班级转换到另一个班级。
我有什么办法可以将 Msvm_ComputerSystem“转换”为 CIM_ComputerSystem?或者,我是在追逐一条大红鲱鱼吗?
c++ - 从 Linux OMI (omicli) 到 Windows WMI 的连接失败并出现 DMTF 相关错误
我正在用 C++ 在 CentO 上实现 OMI 客户端以与 Windows WMI 通信我已经在 Linux CentOS 7 上安装了 OMI,并尝试使用 OMI 提供的示例实用程序连接到 Windows 7。
参考:https ://github.com/Microsoft/omi
还在 Windows 上配置 WINRM 以接收基本身份验证调用。
我无法让样本正常工作。收到以下错误:
以下是目标机器的 WINRM 配置以供参考
C:\Windows\system32>winrm 获取 winrm/config
我错过了什么明显的东西吗?非常感谢任何有关使示例正常工作的帮助。
powershell - 使用 Invoke-CimMethod 'Activate' 来激活 Windows 电源计划,而不是我得到 Invalid Class 我做错了什么?
我按照 Microsoft 的 Scripting Guy 说明进行操作,但即便如此,我仍然收到相同的错误Scripting Guy article
这是我的脚本:
$p2=Get-CimInstance -N root\cimv2\power -Class win32_PowerPlan -Filter "ElementName = 'Balanced'"
Invoke-CimMethod -InputObject $p2-MethodName Activate
这导致:
Invoke-CimMethod : This method is not implemented in any class
At line:1 char:1
+ Invoke-CimMethod -InputObject $p2 -MethodName Activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : MetadataError: (Win32_PowerPlan...2-f694-41f0...):CimInstance) [Invoke-CimMethod], CimException
+ FullyQualifiedErrorId : HRESULT 0x80041055,Microsoft.Management.Infrastructure.CimCmdlets.InvokeCimMethodCommand
我似乎找不到我在几个地方看过的答案,几个月前我看到人们开始遇到这个问题,但我找不到答案,任何建议都将不胜感激
我的最终目标是编写一个脚本,在其中导入电源计划,然后激活它我的导入部分工作正常,就在最后一点。$p 包含我导入的计划,我在默认计划上使用了 $p2 以进行测试。
干杯,并提前感谢您提供的任何建议
powershell - Powershell 6 的哪个库包含 get-wmiobject 命令?
尝试get-WmiObject
在 PowerShell(版本 6)中使用该命令时出现以下错误: