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 属性中设置可能的值
我正在尝试创建 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 属性中设置可能的值