Quantcast
Channel: わんくま同盟
Viewing all articles
Browse latest Browse all 994

ドメインユーザのダイヤルインタブの静的IPアドレスの取得・表示と設定

$
0
0

ドメインユーザのプロパティ画面の項目と属性の対応(ダイヤルインタブ)にある静的 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 = NewIPAddress(ip)

 

C#

var ipValue = Convert.ToInt32(entry.Properties["msRASSavedFramedIPAddress"].Value);

var ip = IPAddress.NetworkToHostOrder(ipValue);

var address = newIPAddress(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を設定します。


Viewing all articles
Browse latest Browse all 994

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>