Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

configure DNS suffix search on win2003 WMI.

32 views
Skip to first unread message

teilonos...@discussions.microsoft.com

unread,
Jul 23, 2008, 3:31:02 PM7/23/08
to
Hi all,

I have a script to configure network settings on multihomed computer running
win2003 SP1. Everything is ok except I can't configure the DNS suffix search
list.

I have tried the following and all fail (invalid method):
nicConfig.SetDNSSuffixSearchOrder(dnsSearch);
nicConfig.EnableDNS();
nicConfig.EnableDNS("computer1", dnsDomain, dnsServers, dnsSearch);
where the following variables have been set
var dnsDomain = "green.lab.example.com";
var dnsServers = new Array("192.168.1.2", "192.168.2.2");
var dnsSearch = new Array("green.lab.example.com",
"yellow.lab.example.com");

Anyone any ideas on whats wrong or any alternative solutions?

The above is part of the following script that is run as the local
administrator - machine is not part of a domain.

<job>
<script language="JScript">

var dnsDomain = "green.lab.example.com";
var registerDNS = false;
var dnsServers = new Array("192.168.1.2", "192.168.2.2");
var dnsSearch = new Array("green.lab.example.com", "yellow.lab.example.com");

main();

function convertDynamic(nicConfig) {
try {
var ipAddress = nicConfig.IPAddress(0);
var mask = nicConfig.IPSubnet(0);
var gateway = nicConfig.DefaultIPGateway(0);

var convert = false;
if (ipAddress.indexOf("192.168.3.") == 0) {
convert = true;
}

if (convert) {
WScript.Echo("converting", ipAddress, "to static ip");
WScript.Echo(" on adapter", nicConfig.Caption);
WScript.Echo(" ", nicConfig.Name);

nicConfig.EnableStatic(new Array(ipAddress), new Array(mask));
nicConfig.SetGateways(new Array(gateway), new Array(1));

if (!control) {
nicConfig.SetIPConnectionMetric(20);
}
nicConfig.SetDNSServerSearchOrder(dnsServers);
nicConfig.SetDNSDomain(dnsDomain);
/* the following commented out lines blow up */
//nicConfig.SetDNSSuffixSearchOrder(dnsSearch);
//nicConfig.EnableDNS();
//nicConfig.EnableDNS("computer1", dnsDomain, dnsServers, dnsSearch);
nicConfig.SetDynamicDNSRegistration(registerDNS,registerDNS);
nicConfig.SetDNSSuffixSearchOrder(dnsSearch);
}
else {
WScript.Echo("Not converting dynamic address", ipAddress, "to static");
WScript.Echo(" on adapter", nicConfig.Caption);
}
}
catch (err) {
WScript.Echo("oops", err);
}
}

/**
* find all adapters with DHCP and convert its currently assigned dhcp
address to static.
*/
function main() {
var wmiService =
GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\CIMV2");
var nicConfigs = wmiService.ExecQuery("SELECT * FROM
Win32_NetworkAdapterConfiguration WHERE IPEnabled = True");
var enumItems = new Enumerator(nicConfigs);
for (; !enumItems.atEnd(); enumItems.moveNext()) {
var nic = enumItems.item();
if (nic.DHCPEnabled) {
convertDynamic(nic);
}
}
}

</script>
</job>

0 new messages