从 C# 我试图调用 CIM 方法:
string str = "1.1.1.1";
var param = new CimMethodParametersCollection();
...
param.Add(CimMethodParameter.Create("NotifyServers", str, CimFlags.In));
session.InvokeMethod(_NameSpace, "PS_DnsServerPrimaryZone", "SetByParameters", param);
问题是它导致错误消息:WinRM 客户端无法处理请求。MI 类型 MI_STRING 的属性“NotifyServers”与架构中的预期类型不匹配:MI_STRINGA。指定正确的类型并重试该操作。
看起来好像它想要一个 8 位/ascii 字符串,但 C# 使用 unicode 字符串进行操作。如何给它一个 MI_STRINGA 数据类型?
我尝试了 byte[] 和 char[],以及指向封送内存块的指针。但它只会导致无法转换为 MI_STRINGA 的其他数据类型。