WMIC 翻译 table
WMIC translation table
我从哪里可以获得有关 WMIC
/TRANSLATE
开关中使用的翻译表的文档?正如我所发现的,WMIC
附带的只有两个表:BasicXml
和 NoComma
。我如何管理表格:列出、查看、添加、删除、重命名?他们有什么格式?我想,当我使用表格时,只有单个字符替换规则。或者其他一些规则可能适用?
这些翻译表来自MSFT_CliTranslateTable
和MSFT_CliTranslateTableEntry
类。这些在 C:\Windows\System32\wbem\cli.mof
文件中定义(并且记录不完整)。
…
[Abstract]
class MSFT_CliTranslateTableEntry
{
string FromValue;
string ToValue;
};
class MSFT_CliTranslateTable
{
[key] string Name;
MSFT_CliTranslateTableEntry Tbl[];
};
…
示例 使用 wmic
:
==> wmic /NAMESPACE:\root\cli PATH MSFT_CliTranslateTable get
Name
NoComma
{} 2 MSFT_CliTranslateTableEntry MSFT_CliTranslateTableEntry 2 ,
BasicXml
{} 2 MSFT_CliTranslateTableEntry MSFT_CliTranslateTableEntry 2 > >
{} 2 MSFT_CliTranslateTableEntry MSFT_CliTranslateTableEntry 2 < <
另一个例子 使用 wmic
:
==> wmic /NAMESPACE:\root\cli PATH MSFT_CliTranslateTable get /Value | findstr "^$ Name __CLASS FromValue ToValue"
Name=NoComma
__CLASS=MSFT_CliTranslateTableEntry
FromValue=,
ToValue=
Name=BasicXml
__CLASS=MSFT_CliTranslateTableEntry
FromValue=&gt;
ToValue=>
__CLASS=MSFT_CliTranslateTableEntry
FromValue=&lt;
ToValue=<
额外示例 使用 powershell
:
PS D:\PShell>
$comp = $env:COMPUTERNAME
$namespace = "ROOT\Cli"
$classname = "MSFT_CliTranslateTable"
$instances = Get-WmiObject -Class $classname -ComputerName $comp -Namespace $namespace
$instances |
ForEach-Object { $_ |
Select-Object -Property @{N='RELPATH'; E={$_.__RELPATH}},
@{N='TrTableName'; E={$_.Name}} -ExpandProperty Tbl
} | Format-Table -Property TrTableName, FromValue, ToValue, __CLASS #, RELPATH
输出:
TrTableName FromValue ToValue __CLASS
----------- --------- ------- -------
NoComma , MSFT_CliTranslateTableEntry
BasicXml > > MSFT_CliTranslateTableEntry
BasicXml < < MSFT_CliTranslateTableEntry
我从哪里可以获得有关 WMIC
/TRANSLATE
开关中使用的翻译表的文档?正如我所发现的,WMIC
附带的只有两个表:BasicXml
和 NoComma
。我如何管理表格:列出、查看、添加、删除、重命名?他们有什么格式?我想,当我使用表格时,只有单个字符替换规则。或者其他一些规则可能适用?
这些翻译表来自MSFT_CliTranslateTable
和MSFT_CliTranslateTableEntry
类。这些在 C:\Windows\System32\wbem\cli.mof
文件中定义(并且记录不完整)。
…
[Abstract]
class MSFT_CliTranslateTableEntry
{
string FromValue;
string ToValue;
};
class MSFT_CliTranslateTable
{
[key] string Name;
MSFT_CliTranslateTableEntry Tbl[];
};
…
示例 使用 wmic
:
==> wmic /NAMESPACE:\root\cli PATH MSFT_CliTranslateTable get
Name
NoComma
{} 2 MSFT_CliTranslateTableEntry MSFT_CliTranslateTableEntry 2 ,
BasicXml
{} 2 MSFT_CliTranslateTableEntry MSFT_CliTranslateTableEntry 2 > >
{} 2 MSFT_CliTranslateTableEntry MSFT_CliTranslateTableEntry 2 < <
另一个例子 使用 wmic
:
==> wmic /NAMESPACE:\root\cli PATH MSFT_CliTranslateTable get /Value | findstr "^$ Name __CLASS FromValue ToValue"
Name=NoComma
__CLASS=MSFT_CliTranslateTableEntry
FromValue=,
ToValue=
Name=BasicXml
__CLASS=MSFT_CliTranslateTableEntry
FromValue=&gt;
ToValue=>
__CLASS=MSFT_CliTranslateTableEntry
FromValue=&lt;
ToValue=<
额外示例 使用 powershell
:
PS D:\PShell>
$comp = $env:COMPUTERNAME
$namespace = "ROOT\Cli"
$classname = "MSFT_CliTranslateTable"
$instances = Get-WmiObject -Class $classname -ComputerName $comp -Namespace $namespace
$instances |
ForEach-Object { $_ |
Select-Object -Property @{N='RELPATH'; E={$_.__RELPATH}},
@{N='TrTableName'; E={$_.Name}} -ExpandProperty Tbl
} | Format-Table -Property TrTableName, FromValue, ToValue, __CLASS #, RELPATH
输出:
TrTableName FromValue ToValue __CLASS ----------- --------- ------- ------- NoComma , MSFT_CliTranslateTableEntry BasicXml > > MSFT_CliTranslateTableEntry BasicXml < < MSFT_CliTranslateTableEntry