Where can I get documentation about translation tables, used in WMIC
/TRANSLATE
switch? As I have found, there are only two tables, shipped with WMIC
: BasicXml
and NoComma
. How can I manage the tables: list them, view, add, delete, rename? Which format does they have? I suppose, when I use the tables, there are only single character replacing rules. Or some other rules may apply?
These translation tables come from MSFT_CliTranslateTable
and MSFT_CliTranslateTableEntry
classes. Those are defined (and poorly documented) in C:\Windows\System32\wbem\cli.mof
file.
…
[Abstract]
class MSFT_CliTranslateTableEntry
{
string FromValue;
string ToValue;
};
class MSFT_CliTranslateTable
{
[key] string Name;
MSFT_CliTranslateTableEntry Tbl[];
};
…
Example using 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 < <
Another example using 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=<
Extra example using 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
Output:
TrTableName FromValue ToValue __CLASS ----------- --------- ------- ------- NoComma , MSFT_CliTranslateTableEntry BasicXml > > MSFT_CliTranslateTableEntry BasicXml < < MSFT_CliTranslateTableEntry