2012-04-24 3 views

ответ

1

The WMI Provider for Configuration Management Classes включает ServerNetworkProtocol класса WMI, перечень протоколов, установленные на экземпляре Microsoft SQL Server, этот класс расположен в root\Microsoft\SqlServer\ComputerManagement10 пространства имен (для SQL Server 2008, в других версиях необходимо изменить пространство имен).

Проверить это C# образца

using System; 
using System.Collections.Generic; 
using System.Management; 
using System.Text; 

namespace GetWMI_Info 
{ 
    class Program 
    { 

     static void Main(string[] args) 
     { 
      try 
      { 
       string ComputerName = "localhost"; 
       ManagementScope Scope;     

       if (!ComputerName.Equals("localhost", StringComparison.OrdinalIgnoreCase)) 
       { 
        ConnectionOptions Conn = new ConnectionOptions(); 
        Conn.Username = ""; 
        Conn.Password = ""; 
        Conn.Authority = "ntlmdomain:DOMAIN"; 
        Scope = new ManagementScope(String.Format("\\\\{0}\\root\\Microsoft\\SqlServer\\ComputerManagement10", ComputerName), Conn); 
       } 
       else 
        Scope = new ManagementScope(String.Format("\\\\{0}\\root\\Microsoft\\SqlServer\\ComputerManagement10", ComputerName), null); 

       Scope.Connect(); 
       ObjectQuery Query = new ObjectQuery("SELECT * FROM ServerNetworkProtocol"); 
       ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Scope, Query); 

       foreach (ManagementObject WmiObject in Searcher.Get()) 
       { 
        Console.WriteLine("{0,-35} {1,-40}","ProtocolDisplayName",WmiObject["ProtocolDisplayName"]);// String 
        Console.WriteLine("{0,-35} {1,-40}","Enabled",WmiObject["Enabled"]);// Boolean 
        Console.WriteLine("{0,-35} {1,-40}","InstanceName",WmiObject["InstanceName"]);// String 
        Console.WriteLine("{0,-35} {1,-40}","MultiIpConfigurationSupport",WmiObject["MultiIpConfigurationSupport"]);// Boolean 
        Console.WriteLine("{0,-35} {1,-40}","ProtocolName",WmiObject["ProtocolName"]);// String 
        Console.WriteLine(); 


       } 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine(String.Format("Exception {0} Trace {1}",e.Message,e.StackTrace)); 
      } 
      Console.WriteLine("Press Enter to exit"); 
      Console.Read(); 
     } 
    } 
} 

Это вернет что-то вроде этого

ProtocolDisplayName     Shared Memory 
Enabled        True 
InstanceName      MSSQLSERVER 
MultiIpConfigurationSupport   False 
ProtocolName      Sm 

ProtocolDisplayName     Named Pipes 
Enabled        False 
InstanceName      MSSQLSERVER 
MultiIpConfigurationSupport   False 
ProtocolName      Np 

ProtocolDisplayName     TCP/IP 
Enabled        True 
InstanceName      MSSQLSERVER 
MultiIpConfigurationSupport   True 
ProtocolName      Tcp 

ProtocolDisplayName     VIA 
Enabled        False 
InstanceName      MSSQLSERVER 
MultiIpConfigurationSupport   False 
ProtocolName      Via 
+0

Thanx для справки, но Над кода Throw Ошибка в моем Windows Server 2008 64 бит. – John

+0

Какая ошибка вы получаете? – RRUZ

+0

ошибка автоматизации, система не может найти указанный файл – John

Смежные вопросы