簡體   English   中英

使用WMI(C#)設置靜態IPv6 IP地址

[英]Setting static IPv6 IP-address with WMI (C#)

我正在使用ManagementClass構建此IP管理器工具,但是在嘗試通過WMI設置IPv6地址時遇到了問題。

我正在使用的代碼的相關部分如下:

ManagementBaseObject ipParams = wmiManager.GetMethodParameters("EnableStatic");
ipParams["IPAddress"] = ipAddresses; // { "fe80::fcd8:70b5:89f3:825d" }
ipParams["SubnetMask"] = netmasks;   // { "64" }
wmiObject.InvokeMethod("EnableStatic", ipParams, null);

將帶有子網掩碼(整數格式)的IPv6地址(標准格式)傳遞給EnableStatic方法時,它似乎沒有應用。

我以為驗證子網掩碼可能會遇到問題,但是我不太確定IPv6是否有完整的子網掩碼符號。 再者,也可能是對IP地址的驗證或完全不同的驗證。

我對ManagementClass還是很陌生,還沒有找到一種讀取錯誤的方法。 如果有人對此有一些建議,請告訴。

根據@Codelgnoto 注釋 (指向@Mike答案),無法在Vista或更高版本上進行設置; IPv6僅提供有限的支持,例如讀取值-而不設置它。 有關簡短(令人驚訝的)答案,請參見Mike的帖子。

與當前網絡適配器關聯的所有IP地址的數組。

從Windows Vista開始 ,此屬性可以包含IPv6地址或IPv4地址。 有關更多信息,請參見WMI中的 I Pv6和IPv4支持

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM