PowerShell 创建 WMI Class

PowerShell create WMI Class

我正在尝试创建 WMI class 并填充它

我不太明白“可用枚举”

我知道如何使 InvalidExtensions 可枚举,但我不知道如何在创建 WMI 实例时填充此字段

我也不懂怎么预填Possible Enumeration Values

到目前为止我的代码

$newClass = New-Object System.Management.ManagementClass("root\cimv2", [String]::Empty, $null); 
$newClass["__CLASS"] = "Test"; 
$newClass.Qualifiers.Add("Static", $true)

$newClass.Properties.Add("Username",[System.Management.CimType]::String, $false)
$newClass.Properties["Username"].Qualifiers.Add("Key", $true)

$newClass.Properties.Add("TotalFileCount",[System.Management.CimType]::UInt16, $false)

$newClass.Properties.Add("TotalFolderCount",[System.Management.CimType]::UInt16, $false)

$newClass.Properties.Add("TotalSizeMB",[System.Management.CimType]::UInt16, $false)

$newClass.Properties.Add("InvalidFileNameCount",[System.Management.CimType]::UInt16, $false)

$newClass.Properties.Add("InvalidExtensionCount",[System.Management.CimType]::UInt16, $false)

$newClass.Properties.Add("InvalidExtensions",[System.Management.CimType]::String, $false)
$newClass.Properties["InvalidExtensions"].Qualifiers.Add("Values",$true)

$newClass.Put()

Set-WmiInstance -Class Test -Argument @{Username="testaccount";TotalFileCount="5191";TotalFolderCount="355";TotalSizeMB="3660";InvalidFileNameCount="10";InvalidExtensionCount="2";InvalidExtensions=".appx",".ost"}

我弄清楚了如何添加值

已更改

$newClass.Properties.Add("InvalidExtensions",[System.Management.CimType]::String, $false)

$newClass.Properties.Add("InvalidExtensions",[System.Management.CimType]::String,"StringArray")

然后在加值的时候可以使用标准数组

我仍然不知道如何在 class 属性中设置可能的值