我在哪里可以获得有关WMIC
/TRANSLATE
切换中使用的转换表的文档?正如我所发现的那样,只有两个表格附带WMIC
:BasicXml
和NoComma
。如何管理表:列出,查看,添加,删除,重命名?他们有哪种格式?我想,当我使用表时,只有单个字符替换规则。或者其他一些规则可能适用?
答案 0 :(得分:0)
这些转换表来自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