Может быть, вы также вводите адреса IPv6 ? Похоже, они просто не любят PowerShell. Возможно, вы можете опубликовать фактические значения, которые вводятся во время отладки, это очень поможет. Также, возможно, попробуйте статически ввести некоторые значения, такие как:
new string[]{"192.168.0.1"}, new string[] {"255.255.255.255"}
Кроме того, если вам действительно не нужен C # и графический интерфейс, который вы, возможно, захотите использовать в PowerShell (разумеется, требуется его установка), так как WMI действительно намного проще там манипулировать (к сожалению, у вас все еще есть эта кривая обучения).
Это всего лишь пример того, как использовать PowerShell, по крайней мере, вы можете использовать его для некоторого тестирования:
Get-WmiObject Win32_NetworkAdapterConfiguration
Затем получите индекс вашего адаптера, затем запустите, но замените ваш индекс:
$obj = Get-WmiObject Win32_NetworkAdapterConfiguration | where {$_.Index -eq 1}
$obj.EnableStatic("192.168.0.1", "255.255.255.0")
Чтобы получить параметры метода, просто запустите:
$obj.EnableStatic
Будет возвращено:
MemberType : Method
OverloadDefinitions : {System.Management.ManagementBaseObject EnableStatic(System.String[]IPAddress, System.String[] SubnetMask)}
TypeNameOfValue : System.Management.Automation.PSMethod
Value : System.Management.ManagementBaseObject EnableStatic(System.String[]IPAddress, System.String[] SubnetMask)
Name : EnableStatic
IsInstance : True