创建 WMI class 并添加静态 属性 或默认值

Create WMI class and add static property or default value

我正在尝试创建一个 WMI class 并添加一个静态 属性,或者设置 属性

的默认值
$WMI_Class = New-Object System.Management.ManagementClass("root\default", $null, $null)
$WMI_Class.Qualifiers.Add("Static", $true)
$WMI_Class.Properties.Add("ver", [System.Management.CimType]::String, "myDefaultValue")
$WMI_Class.name = "MyCoreClass"
$WMI_Class.Put()

$obj = ([WmiClass] 'root\default:MyCoreClass')
$ver = $obj.Properties['ver'].Value
$ver

已创建 class 但 $ver 为空,有什么想法吗?

将您的代码更改为:

$WMI_Class = New-Object System.Management.ManagementClass("root\default", [String]::Empty, $null)
$WMI_Class.name = "MyCoreClass"
$WMI_Class.Properties.Add("ver", "Hi, This is sample static value")
$WMI_Class.Put()

$obj = ([WmiClass] 'root\default:MyCoreClass')
$ver = $obj.Properties['ver'].Value
$ver