# Ensures correct DNS settings for Windows DNS clients
# Tested on: Windows Server 2003 32-bit, Windows Server 2008 R2 64-bit


body common control
{
      bundlesequence => { "windows_dns" };
}

bundle agent windows_dns
{
  vars:
      "dns_servers" string => "192.168.1.3 192.168.1.4";
      
      "keys" string => execresult("$(sys.winsysdir)\reg.exe query HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces", "noshell");
      "key_list" slist => splitstring("$(keys)", "\r\n", 50);
      
      
  databases:
      "$(key_list)"
      comment            => "Ensure DNS client configuration is correct",
      handle             => canonify("windows_dns_$(dns_servers)"),
      database_operation => "create",
      database_rows      => { "NameServer,REG_SZ,$(dns_servers)" },
      database_type      => "ms_registry",
      if                 => not( strcmp("$(key_list)", "" ));
}
