DNSのパラメータを設定する

作成日時:2009/07/05


setDNSsetting setDNSsetting.js

DNSの細かい設定を行うスクリプトです。

ActiveDirectory環境下では、細かいDNSの設定値が(場合によっては)厳密に求められます。 これらの設定を、WMIを利用して一括設定するのが目的です。

SetDynamicDNSRegistration を利用する場合は以下のサイトを確認して下さい。
http://support.microsoft.com/kb/834440/ja

DNSの設定を行うには、Win32_NetworkAdapterConfigurationクラスを利用します。
このクラスにはネットワークの設定を行うメッソドが多数用意されています。

今回は以下のクラスを利用してDNSの設定を実施します。

SetDNSDomainメソッド:「この接続のDNSサフィックス」の設定を行う。
uint32 SetDNSDomain(
  [in]  string DNSDomain
);
SetDNSServerSearchOrderメソッド:DNSサーバーのIPアドレスの設定を行う。
※今回はパラメータの設定なので、このメソッドは使用しません。
uint32 SetDNSServerSearchOrder(
  [in]  string DNSServerSearchOrder[]
);
SetDNSSuffixSearchOrderメソッド:「以下のDNSサフィックスを順に追加する」にドメイン名を設定する
uint32 SetDNSSuffixSearchOrder(
  [in]  string DNSDomainSuffixSearchOrder[]
);
SetDynamicDNSRegistrationメソッド:「この接続のアドレスをDNSに登録する」、「この接続のDNSサフィックスをDNS登録に使う」の設定を行う。
uint32 SetDynamicDNSRegistration(
  [in]  boolean FullDNSRegistrationEnabled,
  [in]  boolean DomainDNSRegistrationEnabled
);
以下サンプルです。
var strComputer 		= ".";

var oWMI1 	 	    	= GetObject("winmgmts:\\\\"+strComputer+"\\root\\cimv2");
var oWIN32NAC		 	= oWMI1.ExecQuery("Select * From Win32_NetworkAdapterConfiguration");
var oWIN32NACf		 	= oWMI1.Get("Win32_NetworkAdapterConfiguration");

var aDnsSufixList		= new Array("");

oWIN32NACf.SetDNSSuffixSearchOrder(aDnsSufixList);

for( var e = new Enumerator( oWIN32NAC ) ; !e.atEnd() ; e.moveNext() )
{
	var oNicCol = e.item();
	
	if( oNicCol.IPEnabled == true )
	{
		oNicCol.SetDNSDomain("mydomain.local");
		
		oNicCol.SetDynamicDNSRegistration(true,true);
		
	}
}




inserted by FC2 system