Silverlight 使用COM+;自动化与WMI

Silverlight 使用COM+;自动化与WMI,silverlight,automation,wmi,com+,Silverlight,Automation,Wmi,Com+,我正在开发一个Silverlight 4(或者可能是5)OOB应用程序,提高了信任度。我知道,但是否可以查询硬盘序列号等硬件信息?请注意,这是一个信任度较高的OOB应用程序,因此没有强加任何安全风险。我将在我的silverlight应用程序上执行一些激活操作 编辑:解决了!例如,您可以使用以下代码段查询主板序列号: using (dynamic SWbemLocator = AutomationFactory.CreateObject("WbemScripting.SWbemLocato

我正在开发一个Silverlight 4(或者可能是5)OOB应用程序,提高了信任度。我知道,但是否可以查询硬盘序列号等硬件信息?请注意,这是一个信任度较高的OOB应用程序,因此没有强加任何安全风险。我将在我的silverlight应用程序上执行一些激活操作

编辑:解决了!例如,您可以使用以下代码段查询主板序列号:

    using (dynamic SWbemLocator = AutomationFactory.CreateObject("WbemScripting.SWbemLocator"))
    {
        SWbemLocator.Security_.ImpersonationLevel = 3;
        SWbemLocator.Security_.AuthenticationLevel = 4;
        dynamic IService = SWbemLocator.ConnectServer(".", @"root\cimv2");
        dynamic QueryResults = IService.ExecQuery(
            @"SELECT Product, SerialNumber FROM Win32_BaseBoard");
        dynamic QueryResult = QueryResults.ItemIndex(0);
        string name = QueryResult.Product;
        string value = QueryResult.SerialNumber;
        MessageBox.Show(name + "\r\n" + value);
    }

提前感谢。

基本上,如果你能用VBScript完成,那么你就可以用OOB+提升信任度来完成。WMI尤其常用于通常用VBScript编写的管理脚本。因此,最好的方法是搜索VBScript示例,然后使用
dynamic
类型将其移植到C#。谢谢,我完全按照您所说的做了,并且成功了!我用一个例子编辑了我的问题。