###前提・実現したいこと
Win10のC#のPowershellコマンドレットでネットワーク関連の設定の設定をしたい
具体的には以下の設定をpowershellで行いたい
・有線ネットワークアダプタ
自動/固定IPアドレス
自動/固定DNSアドレス
・無線ネットワークアダプタ
自動/固定IPアドレス
自動/固定DNSアドレス
①IP DNSともに自動設定の状態でIP DNSに固定の値を設定する
②IP DNSともに固定設定された状態で IP DNSを自動設定に切り替える
結果
① 有線ネットワーク
→ 全て固定IPに変更されました
無線ネットワーク
→DHCPのままでした。(デフォルトゲートウェイだけは値が入力されている)
② 有線ネットワーク
-> IPはDHCPに変更されましたが、DNSは固定のままでした
無線ネットワーク
-> 変更されていない感じです(デフォルトゲートウェイが入力されたまま)
正常に動作しない場合は以下のエラーがPowershellのReturnvalueに帰ってきています
解決方法をご教授頂ければありがたいです
###発生している問題・エラーメッセージ
Return value 84 (IP not enabled on adapter)
###該当のソースコード
C#
1class Program 2 { 3 const string NIC_NAME = "アダプタ名"; 4 static void Main(string[] args) 5 { 6 foreach (NetworkInterface nic_ in NetworkInterface.GetAllNetworkInterfaces()) 7 { 8 if (nic_.Description == NIC_NAME) 9 { 10 using (Runspace rs = RunspaceFactory.CreateRunspace()) 11 { 12 // Runspace をオープンする 13 rs.Open(); 14 15 using (PowerShell ps = PowerShell.Create()) 16 { 17 PSCommand pscmd = new PSCommand(); 18 19 string script1_ = "$nic = Get-WmiObject Win32_NetworkAdapterConfiguration | ?{$_.description -match \"" + nic_.Description + "\"}"; 20 pscmd.AddScript(script1_); 21 string command_ = args[0] != null ? args[0] : ""; 22 switch (command_.ToLower()) 23 { 24 case "staticip": 25 { 26 string script2_ = "$nic.EnableStatic(\"" + args[1] + "\",\"" + args[2] + "\")"; 27 pscmd.AddScript(script2_); 28 string script3_ = "$nic.SetGateways(\"" + args[3] + "\",1)"; 29 pscmd.AddScript(script3_); 30 } 31 break; 32 case "dhcpip": 33 { 34 string script2_ = "$nic.EnableDHCP()"; 35 pscmd.AddScript(script2_); 36 } 37 break; 38 case "dns": 39 { 40 string script2_ = "$nic.SetDNSServerSearchOrder(@(\"" + args[1] + "\",\"" + args[2] + "\"))"; 41 pscmd.AddScript(script2_); 42 } 43 break; 44 case "dhcpdns": 45 { 46 string script2_ = "$nic.SetDNSServerSearchOrder()"; 47 pscmd.AddScript(script2_); 48 } 49 break; 50 } 51 ps.Commands = pscmd; 52 ps.Runspace = rs; 53 // スクリプトを実行する 54 Collection<PSObject> adapts = ps.Invoke(); 55 } 56 } 57 } 58 } 59 } 60 }
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。