在哪里可以获得WMIC /TRANSLATE交换机中使用的有关翻译表的文档?正如我所发现的,只有两个表是随WMIC附带的:BasicXml和NoComma。如何管理表:列表、查看、添加、删除、重命名?他们有哪种格式?我想,当我使用这些表时,只有一个字符代替规则。或者其他的规则也适用?
发布于 2018-07-07 14:45:54
这些翻译表来自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
https://stackoverflow.com/questions/50643769
复制相似问题