火山视频怎么删除粉丝聊天删了能找回来吗

您的位置: &
怎样利用WMI类中的Win32_NetworkAdapterConfigura tion实现网卡IP地址的自动配置
优质期刊推荐用WMI实现Windows系统自动管理(多图)_操作系统_网上学园_科技时代_新浪网
用WMI实现Windows系统自动管理(多图)
.cn &18:23 天极网
  文/东方欲晓  与以前的操作系统相比,Windows 2K/XP的优点之一是具有更好的可管理性。例如它支持Windows 2000服务器终端服务下的远程管理模式,支持Microsoft管理控制台(MMC),再有一个就是支持WMI。WMI是Windows Management Instrumentation的缩写,即Windows管理规范。WMI有许多用途,其中之一就是通过脚本编程实现管理自动化。
  一、为什么要用脚本?
  回顾九十年代,Windows NT之所以获得成功,原因之一就在于相对而言这个操作系统比较容易使用,任何能够使用Windows 3.1的用户差不多就可以管理一个简单的NT网络(这在今天听起来有点不可思议,但事实是,NT 3.1比Windows 2K/XP功能少得多,因而简单得多)。只要看看NT的控制面板,这个操作系统可以做些什么就大致有个印象了。
  随着操作系统的发展,原来友好的界面变得更加友好。在Windows 2K/XP中,几乎每一个操作过程都有向导,每一个操作系统级的对象都有图形化的属性页;不同的操作选择引导你到达最终完成任务的对话框,MMC允许你把常用的工具(甚至是第三方的工具)插入到定制的工具集。
  然而,高级用户感到友好的GUI实在太繁琐了。另外,尽管在命令行上也可以执行某些任务,但命令行没有图形工具那样完备的功能。为了让Windows 2K/XP下的操作任务自动化,一种较好的途径是通过脚本程序直接访问图形化工具访问的管理接口。WMI允许用户通过一个统一的接口,用脚本语言访问操作系统的几乎任意一个部分。当然,用脚本对WMI编程也有一些限制,例如不能直接访问Win32 API。
  二、WMI是什么?
  WMI是Windows 2K/XP管理系统的核心;对于其他的Win32操作系统,WMI是一个有用的插件。WMI以CIMOM为基础,CIMOM即公共信息模型对象管理器(Common Information Model Object Manager),是一个描述操作系统构成单元的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口。有了WMI,工具软件和脚本程序访问操作系统的不同部分时不需要使用不同的API;相反,操作系统的不同部分都可以插入WMI,如图一所示(该图来自MSDN),工具软件和WMI可以方便地读写WMI。
  Windows 2K/XP和Windows 98都支持WMI;如果为NT 4.0和Windows 95加上了Service Pack 4或更高版本,NT 4.0和Win95也支持WMI。因此,用WMI进行远程管理时,并非一定要用Windows 2K/XP(当然,如果WMI脚本在一台没有性能监视器的Win9x机器上运行,就不能在远程Win9x系统上查询Windows 2K/XP的性能监视器。
  如前所述,WMI允许通过一个公共的接口访问多种操作系统构成单元,因此不必分别对待各种底层接口或所谓的“提供者”。利用WMI可以高效地管理远程和本地的计算机;与此相对,并非所有的Windows 2K/XP命令行工具都支持远程运行。
  WMI是WBEM模型的一种实现。WBEM即Web-Based Enterprise Management,或基于Web的企业管理,WBEM由DMTF(Distributed Management Task Force,分布式管理任务组)在许多厂商的帮助下创立,包括Compaq、Sun、Microsoft等。WBEM的目标是,为管理企业环境开发一个标准的接口集。WBEM模型最关键的部分是它的数据模型(或描述和定义对象的方式)、编码规范(Encoding Specification),以及在客户端和服务器端之间传输数据的模式。
  WBEM的数据模型是CIM(Common Information Model,公共信息模型)。CIM是一个用来命名计算机的物理和逻辑单元的标准的命名系统(或称为命名模式),例如硬盘的逻辑分区、正在运行的应用的一个实例,或者一条电缆。
  CIM是一个面向对象的模型,使用一组面向对象的术语进行描述。CIM包含类(Class),类是被管理单元的模板。类的实例称为对象(Object),对象代表着底层系统的一个具体单元。名称空间(Namespace)是一个类的集合,每个名称空间面向一个特定的管理领域。类包含属性(Property)和方法(Method)。
  CIM分三层。第一层是核心模型(Core Model),这一层包含的类定义对于所有管理领域来说都是共同的。第二层是公共模型(Common Model),这一层包含的类定义对于特定的管理领域来说是公共的,但与具体的操作系统和系统设计无关。第三层是扩展模型(Extension model),这一层包含的类定义与特定的操作系统或技术有关。
  WMI是Microsoft扩展CIM 2.0得到的面向Win32系统的扩展模型。引用WMI类和属性的形式是“扩展前缀_类名称.属性名称”,例如Win32_ComputerSystem.Name,其中Win32是CIM模式cimv2名称空间内WMI扩展类的前缀,ComputerSystem是类,Name是属性。
  编写WMI脚本的很大一部分工作涉及到读取和设置属性值。当前,WMI提供的方法还很有限,但随着时间的推移,相信WMI和CIM提供的方法都会越来越丰富。
  三、WMI软件开发包
  利用WMI软件开发包(SDK)可以方便地查看可用的CIM和Win32类。WMI SDK可以从/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/566/msdncompositedoc.xml下载,有8M多,可谓不小。
  WMI SDK要求操作系统必须是Windows 2K/XP或者NT 4.0 SP4或更高版本;尽管Win9x系统上可以安装WMI支持软件,但SDK不能在Win9x上运行。另外,为支持SDK的ActiveX控件,SDK还要求有IE 5.0或更高版本。SDK对机器性能的最低要求是:Pentium处理器,32 Mb的RAM,40 Mb的磁盘空间,以及至少要有800 x 600、256色的显示设备。对于运行Windows 2K/XP的机器来说,这些要求应该不会成为问题。CIMOM默认以服务的形式运行,但如果机器没有网卡,CIMOM不能作为服务运行,不过此时可以作为一个应用运行,只需执行winmgmt.exe即可。winmgmt.exe在%systemroot%\system32\wbem的WMI主目录下。
  SDK必须由管理员组的成员安装。安装过程很简单,执行WMISdk.exe启动向导,指定安装的目标目录(默认是\program files\wmi)。选择要安装的可选组件(默认安装除了SNMP支持以外的所有组件),最后点击Finish。安装SDK不需要重新启动。安装完成后,“开始/程序”菜单上会增加一个WMI SDK组。
  点击WMI SDK程序组的WMI CIM Studio。CIM Studio提示连接名称空间,并显示默认连接的名称空间是root\cimv2,确认即可。如果你用Administrator身分登录Windows,再次点击确定以当前身份登录;如果你用其他的身份登录Windows,请改用Administrator登录。
  现在,假设我们要在当前的机器上查找一个对象:C:驱动器。我们不知道C:驱动器在CIM或WMI中的具体名称,浏览CIM Studio列出的数百个类又太麻烦,怎么办呢?可以使用Find按钮(左边上方的望远镜,参见图三)。图二显示了点击Find按钮后显示的Search for Class对话框,在这里输入我们猜想C:驱动器的类名称中应当包含的单词,然后点击Go!按钮。由于我们正在寻找一个命名的磁盘分区,而且我们知道Windows把这种分区叫做logical disk或logical drive,因此这里的搜索关键词可以是logical。当然,搜索关键词也可以是disk,但这时会有大量的搜索结果出现。
图二显示了搜索关键词logical得到的结果。选择Win32_LogicalDisk并点击OK,图三的窗口出现(为什么不选择CIM_LogicalDisk?前面已经提到,WMI管理的所有对象都带有Win32前缀。如果选择CIM_LogicalDisk然后要求显示出它的实例,不可能看到可用逻辑驱动器的任何具体信息,只能看到对应每一个可用逻辑驱动器的Win32_LogicalDisk条目)。现在,窗口的右边显示出Win32_logicalDisk类的属性。可以看到,属性的值都为空,这是因为我们正在查看的是一个类,而不是类的具体实例。要显示出Win32_LogicalDisk类的实例,点击右边上面的Instances按钮(右数第四)。
  点击Instances按钮之后,窗口显示出当前机器上所有逻辑驱动器的实例,包括网络逻辑驱动器。点击设备ID为“C:”的实例,显示出图四的结果。右边窗格包含了当前实例的属性和方法,当前逻辑驱动器的名称显示在右边窗格的上方。
  利用脚本可以修改这些属性或调用这些方法。如果对某个属性的含义不太清楚,只需选择Win32_LogialDisk类或Win32_LogicalDisk.DeviceID="C:"实例,再点击Help按钮。大多数对象的属性和方法都有详细的说明。
  四、脚本编程初步
  前面我们通过SDK查看了Win32_LogicalDisk类和它的属性,下面来看看如何在脚本中访问这些信息。如果你的系统上安装了Microsoft Windows 2000 Resource Kit,\program files\resource kit文件夹下默认会有一个listfreespace.vbs脚本。这个脚本查询Win32_LogicalDisk类的各个对象,分别提取一组属性值:DeviceID,即驱动器标识符;FreeSpace,驱动器空闲空间的字节数。假设一台机器的A:是软盘驱动器,D:是CD-ROM驱动器,listfreespace.vbs的输出类如:
  下面显示了getfree.vbs脚本程序的代码,它用更少的代码获取类似的信息。启动getfree.vbs时要指定驱动器标识符,getfree.vbs将显示出驱动器空闲空间和文件系统类型。
  在Windows命令行窗口中,执行“Wscript getfree.vbs c:”将显示出类如图五的结果。如果执行“Cscript getfree.vbs c:”,则提示信息以字符方式显示。
  又如,下面的VBScript脚本提示输入远程机器的名字,然后关闭指定的远程机器:
  当然,如果只有本文的知识,你还不能算是一个WMI脚本编程的高手。但现在你已经了解了如何用SDK查询信息,如何通过脚本访问对象的属性和方法。继续努力吧!
【】【】【】【】
新 闻 查 询
 相关链接( 13:55)( 13:53)( 13:39)( 11:35)( 11:52)( 11:46)( 17:25)( 11:55)
 电话:010-8   欢迎批评指正 |
Copyright & 1996 - 2004 SINA Inc. All Rights Reserved 新浪网&&&&&&&&在VB中用WMI 自动设置局域网中的计算机
正在努力加载播放器,请稍等…
正在努力加载播放器
大小:116.98KB&&所需金币:50
&& & 金币不足怎么办?
下载量:-次 浏览量:138次
贡献时间: 8:50:44
文档标签:
已有-位用户参与评分
同类热门文档
你可能喜欢
看过这篇文档的还看过
阅读:1618&&下载:12
阅读:260&&下载:5
阅读:1394&&下载:4
阅读:198&&下载:4
阅读:222&&下载:0
阅读:117&&下载:0
阅读:118&&下载:0
阅读:169&&下载:0
阅读:270&&下载:0
阅读:189&&下载:0
该用户的其他文档
所需财富值:
50文件大小:116.98KB
您当前剩余财富值:&&
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
举报该文档侵犯版权。
例: /help.shtml利用WMI修改计算机网络设置
利用WMI修改计算机网络设置
发布时间: 6:01:54
编辑:www.fx114.net
本篇文章主要介绍了"利用WMI修改计算机网络设置",主要涉及到利用WMI修改计算机网络设置方面的内容,对于利用WMI修改计算机网络设置感兴趣的同学可以参考一下。
获取本机网卡
&/**////&&summary&&&&&&&&&///&获取网卡列表&&&&&&&&///&&/summary&&&&&&&&&public&ArrayList&GetAllNetCards()&&&&&&&&...{&&&&&&&&&&&&ArrayList&myary&=&new&ArrayList();&&&&&&&&&&&&ManagementObjectSearcher&searcher&=&new&ManagementObjectSearcher(&SELECT&*&FROM&Win32_NetworkAdapterConfiguration&);&&&&&&&&&&&&foreach&(ManagementObject&share&in&searcher.Get())&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&if&((share[&IPAddress&]&!=&null))&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&myary.Add(share[&Description&].ToString());&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&&&return&&&&&&&&&}
得到网卡信息
&&&/**////&&summary&&&&&&&&&///&得到网卡信息&&&&&&&&///&&/summary&&&&&&&&&///&&param&name=&description&&&/param&&&&&&&&&public&NetWorkSetingStruct&GetNetCardConfiguraton(string&description)&&&&&&&&...{&&&&&&&&&&&&NetWorkSetingStruct&NWSS&=&new&NetWorkSetingStruct();&&&&&&&&&&&&if&(description&==&null&|&description.Length&==&0)&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&return&NWSS;&&&&&&&&&&&&}&&&&&&&&&&&&else&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&ManagementObjectSearcher&searcher&=&new&ManagementObjectSearcher(&SELECT&*&FROM&Win32_NetworkAdapterConfiguration&WHERE&Description=&&&+&description&+&&&&);&&&&&&&&&&&&&&&&foreach&(ManagementObject&share&in&searcher.Get())&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&NWSS.IP&=&((string[])share[&IPAddress&])[0];&&&&&&&&&&&&&&&&&&&&NWSS.SubNet&=&((string[])share[&IPSubnet&])[0];&&&&&&&&&&&&&&&&&&&&NWSS.DefaultGateWay&=&((string[])share[&DefaultIPGateway&])[0];&&&&&&&&&&&&&&&&&&&&NWSS.DHCPEnable&=&(bool)share[&DHCPEnabled&];&&&&&&&&&&&&&&&&&&&&int&i;&&&&&&&&&&&&&&&&&&&&for&(i&=&0;&i&&=&((string[])share[&DNSServerSearchOrder&]).GetLength(0)&-&1;&i++)&&&&&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&&&&&//txt_DNS.Text&+=&((string[])share[&DNSServerSearchOrder&])[i]&+&&-&;&&&&&&&&&&&&&&&&&&&&&&&&NWSS.DNS&=&((string[])share[&DNSServerSearchOrder&])[i];&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&if&(i&&=&2)&&&&&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&&&&&//this.txt_DNS.Foreground&=&&&#FFFFFFFF&;&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&//this.txt_DNS.Text&=&this.txt_DNS.Text.Remove(this.txt_DNS.Text.Length&-&1,&1);&&&&&&&&&&&&&&&&&&&&//this.textBox5.Text&=&share[&MACAddress&].ToString();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&&&return&NWSS;&&&&&&&&}
得到所有有打印机
&&&&&&&&/**////&&summary&&&&&&&&&///&得到所有有打印机&&&&&&&&///&&/summary&&&&&&&&&///&&returns&&/returns&&&&&&&&&public&ArrayList&GetAllPrinter()&&&&&&&&...{&&&&&&&&&&&&ArrayList&myary&=&new&ArrayList();&&&&&&&&&&&&try&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&ManagementObjectSearcher&searcher&=&new&ManagementObjectSearcher(&SELECT&*&FROM&Win32_Printer&);&&&&&&&&&&&&&&&&foreach&(ManagementObject&share&in&searcher.Get())&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&string&name&=&share[&Name&].ToString();&&&&&&&&&&&&&&&&&&&&myary.Add(name);&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&return&&&&&&&&&&&&&}&&&&&&&&&&&&catch&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&throw&new&ApplicationException(&检测到打印机服务[Print&Spooler]未启动!&);&&&&&&&&&&&&}&&&&&&&&&&&&//grv_Printer.DataSource&=&&&&&&&&&}
防火墙关闭开启
//需要引用&using&NetFwTypeLVISTA下开启防火墙需要有管理员权限,但关闭防火墙还暂时无法实现&/**////&&summary&&&&&&&&&///&XP防火墙关闭开启&&&&&&&&///&&/summary&&&&&&&&&///&&param&name=&enable&&&/param&&&&&&&&&public&bool&SetFireWall_XP(bool&enable)&&&&&&&&...{&&&&&&&&&&&&INetFwMgr&NetFwM&&&&&&&&&&&&INetFwProfile&NetFwP&&&&&&&&&&&&//INetFwPolicy&NetFwPolicy2;&&&&&&&&&&&&try&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&Type&NetFwMgrType&=&Type.GetTypeFromProgID(&HNetCfg.FwMgr&);&&&&&&&&&&&&&&&&object&NetFwMgrObject&=&Activator.CreateInstance(NetFwMgrType);&&&&&&&&&&&&&&&&NetFwMgr&=&(INetFwMgr)NetFwMgrO&&&&&&&&&&&&&&&&NetFwProfile&=&NetFwMgr.LocalPolicy.CurrentP&&&&&&&&&&&&&&&&NetFwProfile.FirewallEnabled&=&&&&&&&&&&&&&&&&&return&&&&&&&&&&&&&}&&&&&&&&&&&&catch&(Exception&e)&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&throw&new&ApplicationException(&无法设置防火墙.&&+&e.Message);&&&&&&&&&&&&&&&&return&&&&&&&&&&&&&}&&&&&&&&}
得到IE代理
/**////&&summary&&&&&&&&&///&得到所有代理&&&&&&&&///&&/summary&&&&&&&&&///&&returns&&/returns&&&&&&&&&public&ProxyStruct&GetAllProxy()&&&&&&&&...{&&&&&&&&&&&&ProxyStruct&PS&=&new&ProxyStruct();&&&&&&&&&&&&try&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&ManagementObjectSearcher&searcher&=&new&ManagementObjectSearcher(&SELECT&*&FROM&Win32_Proxy&);&&&&&&&&&&&&&&&&foreach&(ManagementObject&share&in&searcher.Get())&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&PS.ProxyIP&=&share[&ProxyServer&].ToString();&&&&&&&&&&&&&&&&&&&&PS.ProxyPort&=&share[&ProxyPortNumber&].ToString();&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&&&catch&(Exception&ex)&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&throw&new&ApplicationException(&无法获取代理信息.&&+&ex.Message);&&&&&&&&&&&&}&&&&&&&&&&&&return&PS;&&&&&&&&}
/**////&&summary&&&&&&&&&///&得到主页&&&&&&&&///&&/summary&&&&&&&&&///&&returns&&/returns&&&&&&&&&public&string&GetHomePage()&&&&&&&&...{&&&&&&&&&&&&string&startPageURL;&&&&&&&&&&&&RegistryKey&hklm&=&Registry.CurrentU&&&&&&&&&&&&RegistryKey&software&=&hklm.OpenSubKey(&Software&,&false);&&&&&&&&&&&&RegistryKey&Microsoft&=&software.OpenSubKey(&Microsoft&,&false);&&&&&&&&&&&&RegistryKey&InternetExplorer&=&Microsoft.OpenSubKey(&Internet&Explorer&,&false);&&&&&&&&&&&&RegistryKey&Main&=&InternetExplorer.OpenSubKey(&Main&);&&&&&&&&&&&&startPageURL&=&Main.GetValue(&Start&Page&).ToString();&&&&&&&&&&&&return&startPageURL;&&&&&&&&}
&/**////&&summary&&&&&&&&&///&设置主页&&&&&&&&///&&/summary&&&&&&&&&///&&param&name=&startPageURL&&&/param&&&&&&&&&public&void&SetHomePage(string&startPageURL)&&&&&&&&...{&&&&&&&&&&&&if&(startPageURL&!=&&&)&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&RegistryKey&hklm&=&Registry.LocalM&&&&&&&&&&&&&&&&RegistryKey&software&=&hklm.OpenSubKey(&Software&,&false);&&&&&&&&&&&&&&&&RegistryKey&Microsoft&=&software.OpenSubKey(&Microsoft&,&false);&&&&&&&&&&&&&&&&RegistryKey&InternetExplorer&=&Microsoft.OpenSubKey(&Internet&Explorer&,&false);&&&&&&&&&&&&&&&&RegistryKey&Main&=&InternetExplorer.OpenSubKey(&Main&,&true);&&&&&&&&&&&&&&&&Main.SetValue(&Start&Page&,&startPageURL);&&&&&&&&&&&&&&&&hklm.Close();&&&&&&&&&&&&&&&&software.Close();&&&&&&&&&&&&&&&&Microsoft.Close();&&&&&&&&&&&&&&&&InternetExplorer.Close();&&&&&&&&&&&&&&&&Main.Close();&&&&&&&&&&&&&&&&RegistryKey&hkcu&=&Registry.CurrentU&&&&&&&&&&&&&&&&RegistryKey&software2&=&hkcu.OpenSubKey(&Software&,&false);&&&&&&&&&&&&&&&&RegistryKey&Microsoft2&=&software2.OpenSubKey(&Microsoft&,&false);&&&&&&&&&&&&&&&&RegistryKey&InternetExplorer2&=&Microsoft2.OpenSubKey(&Internet&Explorer&,&false);&&&&&&&&&&&&&&&&RegistryKey&Main2&=&InternetExplorer2.OpenSubKey(&Main&,&true);&&&&&&&&&&&&&&&&Main2.SetValue(&Start&Page&,&startPageURL);&&&&&&&&&&&&&&&&hkcu.Close();&&&&&&&&&&&&&&&&software2.Close();&&&&&&&&&&&&&&&&Microsoft2.Close();&&&&&&&&&&&&&&&&InternetExplorer2.Close();&&&&&&&&&&&&&&&&Main2.Close();&&&&&&&&&&&&}&&&&&&&&}
设置IE代理
&public&void&SetProxy_XP(ProxyStruct&PS)&&&&&&&&...{&&&&&&&&&&&&ManagementObjectSearcher&searcher&=&new&ManagementObjectSearcher(&SELECT&*&FROM&Win32_Proxy&);&&&&&&&&&&&&foreach&(ManagementObject&share&in&searcher.Get())&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&object[]&obj&=&...{&PS.ProxyIP,&PS.ProxyPort&};&&&&&&&&&&&&&&&&share.InvokeMethod(&SetProxySetting&,&obj);&&&&&&&&&&&&&&&&//MessageBox.Show(&&设置成功!&);&&&&&&&&&&&&&&&&//MessageBox.Show(share.GetText(TextFormat.Mof));&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&public&void&SetNoProxy()&&&&&&&&...{&&&&&&&&&&&&ManagementObjectSearcher&searcher&=&new&ManagementObjectSearcher(&SELECT&*&FROM&Win32_Proxy&);&&&&&&&&&&&&foreach&(ManagementObject&share&in&searcher.Get())&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&share.InvokeMethod(&SetProxySetting&,&null);&&&&&&&&&&&&&&&&//MessageBox.Show(&&设置成功!&);&&&&&&&&&&&&&&&&//MessageBox.Show(share.GetText(TextFormat.Mof));&&&&&&&&&&&&}&&&&&&&&}
手动设置网卡
&/**////&&summary&&&&&&&&&///&手动设置网卡&&&&&&&&///&&/summary&&&&&&&&&///&&param&name=&netCardName&&网卡名称&/param&&&&&&&&&///&&param&name=&ip&&IP地址&/param&&&&&&&&&///&&param&name=&subnet&&子网掩码&/param&&&&&&&&&///&&param&name=&gateway&&网关&/param&&&&&&&&&///&&param&name=&DNS&&DNS&/param&&&&&&&&&public&bool&SetNetWork(string&netCardName,&string&ip,&string&subnet,&string&gateway,&string&DNS)&&&&&&&&...{&&&&&&&&&&&&ManagementObjectSearcher&searcher&=&new&ManagementObjectSearcher(&SELECT&*&FROM&Win32_NetworkAdapterConfiguration&WHERE&Description=&&&+&netCardName&+&&&&);&&&&&&&&&&&&long&iResult&=&0;&&&&&&&&&&&&//&判断是否修改成功。如果成功,后面的三个方法返回值都是0,注意返回的值是&Uint32&类型。&&&&&&&&&&&&&foreach&(ManagementObject&share&in&searcher.Get())&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&//Console.WriteLine(share.GetText(TextFormat.Mof));&&&&&&&&&&&&&&&&if&((share[&IPAddress&]&!=&null))&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&//set&address&&&&&&&&&&&&&&&&&&&&&string[]&ipAddresses&=&...{&ip&};&&&&&&&&&&&&&&&&&&&&//&IP&地址&&&&&&&&&&&&&&&&&&&&&string[]&ipSubnetmask&=&...{&subnet&};&&&&&&&&&&&&&&&&&&&&//掩码&&&&&&&&&&&&&&&&&&&&&object[]&objpara&=&...{&ipAddresses,&ipSubnetmask&};&&&&&&&&&&&&&&&&&&&&object&res&=&share.InvokeMethod(&EnableStatic&,&objpara);&&&&&&&&&&&&&&&&&&&&iResult&+=&Convert.ToInt64(res);&&&&&&&&&&&&&&&&&&&&string[]&ipGateWay&=&...{&gateway&};&&&&&&&&&&&&&&&&&&&&//网关&&&&&&&&&&&&&&&&&&&&&UInt16[]&GatewayCostMetric&=&...{&UInt16.Parse(&1&)&};&&&&&&&&&&&&&&&&&&&&object[]&objpara1&=&...{&ipGateWay,&GatewayCostMetric&};&&&&&&&&&&&&&&&&&&&&iResult&+=&Convert.ToInt64(share.InvokeMethod(&SetGateways&,&objpara1));&&&&&&&&&&&&&&&&&&&&//set&Dns&Server&Serach&Order&&&&&&&&&&&&&&&&&&&&&//&多个dns&中间以减号分开&&&&&&&&&&&&&&&&&&&&&//if&(DNS.IndexOf(&-&)&&&0)&&&&&&&&&&&&&&&&&&&&//{&&&&&&&&&&&&&&&&&&&&//&&&&string[]&dnsServers&=&DNS.Split('-');&&&&&&&&&&&&&&&&&&&&//&&&&object[]&objpara2&=&{&dnsServers&};&&&&&&&&&&&&&&&&&&&&//&&&&iResult&+=&Convert.ToInt32(share.InvokeMethod(&SetDNSServerSearchOrder&,&objpara2));&&&&&&&&&&&&&&&&&&&&//}&&&&&&&&&&&&&&&&&&&&//else&&&&&&&&&&&&&&&&&&&&//{&&&&&&&&&&&&&&&&&&&&string[]&dnsServers&=&...{&DNS&};&&&&&&&&&&&&&&&&&&&&object[]&objpara2&=&...{&dnsServers&};&&&&&&&&&&&&&&&&&&&&iResult&+=&Convert.ToInt64(share.InvokeMethod(&SetDNSServerSearchOrder&,&objpara2));&&&&&&&&&&&&&&&&&&&&//}&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&&&if&(iResult&==&0)&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&return&&&&&&&&&&&&&}&&&&&&&&&&&&else&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&return&&&&&&&&&&&&&&&&&//&MessageBox.Show(&IP修改失败,检查输入的格式和您是否有权限&);&&&&&&&&&&&&}&&&&&&&&}
设置默认打印机
/**////&&summary&&&&&&&&&///&设置默认打印机&&&&&&&&///&&/summary&&&&&&&&&///&&param&name=&printerName&&&/param&&&&&&&&&public&void&SetDefaultPrinter(string&printerName)&&&&&&&&...{&&&&&&&&&&&&try&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&ManagementObjectSearcher&searcher&=&new&ManagementObjectSearcher(&SELECT&*&FROM&Win32_Printer&);&&&&&&&&&&&&&&&&foreach&(ManagementObject&share&in&searcher.Get())&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&if&(share[&Name&].ToString()&==&printerName)&&&&&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&&&&&share.InvokeMethod(&SetDefaultPrinter&,&null);&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&//MessageBox.Show(share.GetText(TextFormat.Mof));&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&&&&&catch&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&throw&new&ApplicationException(&无法设置为默认打印机.&);&&&&&&&&&&&&}&&&&&&&&}
获取默认打印机
&&&&&&&&/**////&&summary&&&&&&&&&///&获取默认打印机&&&&&&&&///&&/summary&&&&&&&&&///&&returns&&/returns&&&&&&&&&public&string&GetDefaultPrinter()&&&&&&&&...{&&&&&&&&&&&&string&printerName&=&&&;&&&&&&&&&&&&ManagementObjectSearcher&searcher&=&new&ManagementObjectSearcher(&SELECT&*&FROM&Win32_Printer&);&&&&&&&&&&&&foreach&(ManagementObject&share&in&searcher.Get())&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&if&(share[&Default&].ToString()&==&&True&)&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&printerName&=&share[&Name&].ToString();&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&//MessageBox.Show(share.GetText(TextFormat.Mof));&&&&&&&&&&&&}&&&&&&&&&&&&return&printerN&&&&&&&&}
动态获取DHCP
&/**////&&summary&&&&&&&&&///&动态取DHCPEnabled&&&&&&&&///&&/summary&&&&&&&&&public&void&SetDHCPEnable(bool&isXP)&&&&&&&&...{&&&&&&&&&&&&ManagementBaseObject&iObj&=&&&&&&&&&&&&&ManagementBaseObject&oObj&=&&&&&&&&&&&&&ManagementClass&mc&=&new&ManagementClass(&Win32_NetworkAdapterConfiguration&);&&&&&&&&&&&&ManagementObjectCollection&&&&&&&&&&&&&moc&=&mc.GetInstances();&&&&&&&&&&&&foreach&(ManagementObject&mo&in&moc)&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&if&(!(bool)mo[&IPEnabled&])&&&&&&&&&&&&&&&&&if&(!(bool)mo[&DHCPEnabled&])&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&if&(isXP)&&&&&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&&&&&//修改DNS改为自动获取&&&&&&&&&&&&&&&&&&&&&&&&RegistryKey&hklm&=&Registry.LocalM&&&&&&&&&&&&&&&&&&&&&&&&RegistryKey&SYSTEM&=&hklm.OpenSubKey(&SYSTEM&,&false);&&&&&&&&&&&&&&&&&&&&&&&&RegistryKey&CurrentControlSet&=&SYSTEM.OpenSubKey(&CurrentControlSet&,&false);&&&&&&&&&&&&&&&&&&&&&&&&RegistryKey&Services&=&CurrentControlSet.OpenSubKey(&Services&,&false);&&&&&&&&&&&&&&&&&&&&&&&&RegistryKey&Tcpip&=&Services.OpenSubKey(&Tcpip&,&true);&&&&&&&&&&&&&&&&&&&&&&&&RegistryKey&Parameters&=&Tcpip.OpenSubKey(&Parameters&,&true);&&&&&&&&&&&&&&&&&&&&&&&&RegistryKey&Adapters&=&Parameters.OpenSubKey(&Adapters&,&true);&&&&&&&&&&&&&&&&&&&&&&&&RegistryKey&Interfaces&=&Parameters.OpenSubKey(&Interfaces&);&&&&&&&&&&&&&&&&&&&&&&&&string[]&subkeys&=&Adapters.GetSubKeyNames();&&&&&&&&&&&&&&&&&&&&&&&&foreach&(string&str&in&subkeys)&&&&&&&&&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&&&&&&&&&if&(str.StartsWith(&{&))&&&&&&&&&&&&&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&RegistryKey&curradpt&=&Interfaces.OpenSubKey(str,&true);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&string&val&=&curradpt.GetValue(&NameServer&).ToString();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&curradpt.SetValue(&NameServer&,&&&);&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&iObj&=&mo.GetMethodParameters(&EnableDHCP&);&&&&&&&&&&&&&&&&&&&&oObj&=&mo.InvokeMethod(&EnableDHCP&,&iObj,&null);&&&&&&&&&&&&&&&&&&&&//iObj&=&mo.GetMethodParameters(&SetDynamicDNSRegistration&);&&&&&&&&&&&&&&&&&&&&//oObj&=&mo.InvokeMethod(&SetDynamicDNSRegistration&,&iObj,&null);&&&&&&&&&&&&&&&&&&&&//iObj&=&mo.GetMethodParameters(&RenewDHCPLeaseAll&);&&&&&&&&&&&&&&&&&&&&//oObj&=&mo.InvokeMethod(&RenewDHCPLeaseAll&,&iObj,&null);&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&&&else&&&&&&&&&&&&&&&&...{&&&&&&&&&&&&&&&&&&&&//iObj&=&mo.GetMethodParameters(&ReleaseDHCPLeaseAll&);&&&&&&&&&&&&&&&&&&&&//oObj&=&mo.InvokeMethod(&ReleaseDHCPLeaseAll&,&iObj,&null);&&&&&&&&&&&&&&&&&&&&//iObj&=&mo.GetMethodParameters(&RenewDHCPLeaseAll&);&&&&&&&&&&&&&&&&&&&&//oObj&=&mo.InvokeMethod(&RenewDHCPLeaseAll&,&iObj,&null);&&&&&&&&&&&&&&&&&&&&//iObj&=&mo.GetMethodParameters(&RenewDHCPLease&);&&&&&&&&&&&&&&&&&&&&//oObj&=&mo.InvokeMethod(&RenewDHCPLease&,&iObj,&null);&&&&&&&&&&&&&&&&}&&&&&&&&&&&&}&&&&&&&&}
代码太乱了,呵呵~VISTA下动态获取IP时会有问题,是微软的一个BUG,现在还没有发布补丁,可以设置成功,但在网卡IPV4中看却显示不正常(子网掩码与网关不正确),但在IPCONFIG中显示正常并可以成功访问网络.
在VISTA下防火墙无法关闭,注册表与INetFwMgr都无法关闭,不知道各位有什么好的办法.其它打印机与主页都可以正常修改.
IE代理服务器的WMI类在VISTA下已经删除,在MSDN上未找到其替代的类,暂时无法修改.
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:

我要回帖

更多关于 火山删视频有什么影响 的文章

 

随机推荐