2011-07-01 19 views
0

私はネットワーク会社の訓練エンジニアとして働いており、時々IP情報を変更する必要があることに悩まされています。Windowsネットワーク情報操作

私はこれらの詳細を簡単に変更できるようにソフトウェアを構築する必要があります。私はIP情報を設定することができました。しかし、私はまだ問題があります。

  1. プログラムを管理者[右クリック]として実行する必要があります。起動時にプロンプ​​トを表示する方法はありますか?
  2. アダプタをDHCPに変更するにはどうすればよいですか?

コードはかなり長く、私はそれをあなたに託したくありません。しかし、私は私の開発に経営に

  • 管理クラス
  • 経営基盤オブジェクト
  • 管理オブジェクトのコレクションを使用していました。

私は自分のプログラミングスキルを開発することを好むでしょう。しかし、それを行うアプリケーションがある場合は、私は知っている気にしません。

答えて

1

私はこの答えがあなたにいくつかの不安と方向性を与えることを願っています。

ネットワークアダプタはではありません。はまっすぐですが、私はあなたがWMI、特にWMI object hereでこれを実現できると信じています。 MSDNのドキュメントには、すべてのプロパティ、メソッド(DHCPなどを設定するためのメソッド)、およびデータ型とその値が記載されています。これは、C#でWMIを使用するとかなり簡単ですが、1つのアプローチかもしれません。私はあなたに例を挙げることができればいいと思うが、以前はその特定のWMIクラスを使ったことはなかった。また、上記のWMIクラスには、ここで参照できるVisual Studio Server Explorerを使用してアクセスすることもできます。それはおそらくあなたが探しているあなたの "EnableDHCP"メソッドを持っています。

enter image description here

は限り管理者権限のないで実行するプログラムを尋ねるなど、ここに私の枠組みの中で私のセットアッププロジェクトからコードです。それは、フォームまたはロジックの任意の並べ替えを実行します(Windowsはそのビスタ/ 7を持っており、ユーザーから管理者priviledgesを要求した場合)UACを呼び出し、「runasコマンド」動詞を要求する前にこれが何を行うことは限り

namespace Setup { 
    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Windows.Forms; 
    using Setup.Forms; 
    using System.Security.Principal; 
    using System.Diagnostics; 

    static class Program { 
     /// <summary> 
     /// The main entry point for the application. 
     /// </summary> 
     [STAThread] 
     static void Main() { 
      Application.EnableVisualStyles(); 
      Application.SetCompatibleTextRenderingDefault(false); 

      WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); 
      bool administrativeMode = principal.IsInRole(WindowsBuiltInRole.Administrator); 

      if (!administrativeMode) { 
       ProcessStartInfo startInfo = new ProcessStartInfo(); 
       startInfo.Verb = "runas"; 
       startInfo.FileName = Application.ExecutablePath; 
       try { 
        Process.Start(startInfo); 
       } 
       catch { 
        return; 
       } 
       return; 
      } 

      Application.Run(new ShellForm()); 
     } 
    } 
} 

ですそれを行うプログラム、Windowsネットワーク接続マネージャー?私はすべてのダイアログのためにその面倒を知っていますが、既にそこにあります。

+2

自分でコードを作成するのではなく、アプリケーションを管理者として実行するための最良の方法は、アプリケーションのマニフェストで適切に設定することです。http://stackoverflow.com/questions/5276674/how-to-force- a-wpf-application-to-administrator-mode-5276770#5276770 – vcsjones

0

私は以前と同じようなプログラムを書く必要がありました。 Chameleon ProjectConfiguring TCP/IP Settings using WMI and C#

Chameleon Projectは、特定のアダプタのネットワーク設定を変更するのに役立つプロジェクトです。もう1つのプロジェクトは、C#を使用してWMIとC#を使用してネットワーク設定を変更する方法に関するチュートリアルです。ソースコードを見て、そこから学ぶことで、必要なことをする独自のソフトウェアを作ることができます。

関連する問題