ドメインユーザのプロパティ画面の項目と属性の対応(ダイヤルインタブ)にある静的 IP アドレスで、IPv4 のアドレスを割り当ててる場合、属性「msRASSavedFramedIPAddress」から値を取得できます。
ですが、この値は32ビットの数値なので、画面に表示する場合は IPv4 の標準表記に変換する必要があります。
※System.Net 名前空間をインポート、ドメインユーザの DirectoryEntry を entry とします。
VB
Dim ipValue = Convert.ToInt32(entry.Properties.Item("msRASSavedFramedIPAddress").Value)
Dim ip = IPAddress.NetworkToHostOrder(ipValue)
Dim address = New IPAddress(ip)
C#
var ipValue = Convert.ToInt32(entry.Properties["msRASSavedFramedIPAddress"].Value);
var ip = IPAddress.NetworkToHostOrder(ipValue);
var address = new IPAddress(ip);
address.ToString() で IPv4 の標準表記の文字列を取得します。
逆に値を設定する場合は、属性「msRADIUSFramedIPAddress」に対して処理します。
※テキストボックス「ipTextBox」に IPv4 のアドレスが入力されているとします。
VB
Dim address = IPAddress.Parse(ipTextBox.Text)
Dim bytes = address.GetAddressBytes()
Dim ip = BitConverter.ToInt32(bytes, 0)
Dim ipValue = IPAddress.HostToNetworkOrder(ip)
entry.Properties.Item("msRADIUSFramedIPAddress").Value = ipValue
C#
var address = IPAddress.Parse(ipTextBox.Text);
var bytes = address.GetAddressBytes();
var ip = BitConverter.ToInt32(bytes, 0);
var ipValue = IPAddress.HostToNetworkOrder(ip);
entry.Properties["msRADIUSFramedIPAddress"].Value = ipValue;
entry.CommitChanges() で変更を保存します。
Nothing/null を設定した場合は値が削除されるので、プロパティ画面の「静的 IP アドレスを割り当てる」チェックボックスのチェックが外れます。(静的 IP アドレス設定画面の「静的 IPv4 アドレスを割り当てる」チェックボックスのチェックも外れます。)
但し、アドレスの入力値はクリアされないので、クリアするなら属性「msRASSavedFramedIPAddress」の値にも Nothing/null を設定します。