Таблица перевода WMIC
Где я могу получить документацию о таблицах перевода, используемых в WMIC
/TRANSLATE
выключатель? Как я обнаружил, есть только две таблицы, поставляемые с WMIC
: BasicXml
а также NoComma
, Как я могу управлять таблицами: перечислять их, просматривать, добавлять, удалять, переименовывать? Какой формат у них есть? Я полагаю, когда я использую таблицы, есть только правила замены одного символа. Или некоторые другие правила могут применяться?
1 ответ
Решение
Эти таблицы перевода взяты из 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