code: func (runner *runner) GetDNSSuffixSearchList() ([]string, error) {
  	// Parse the DNS suffix search list from ipconfig output
  	// ipconfig /all on Windows displays the entry of DNS suffix search list
  	// An example output contains:
  	//
  	// DNS Suffix Search List. . . . . . : example1.com
  	//                                     example2.com
  	//
  	// TODO: this does not work when the label is localized
  	suffixList := []string{}
  	if runtime.GOOS != "windows" {
  		klog.V(1).Infof("ipconfig not supported on GOOS=%s", runtime.GOOS)
  		return suffixList, nil
  	}
  
  	out, err := runner.exec.Command(cmdIpconfig, cmdDefaultArgs).Output()
  
  	if err == nil {
  		lines := strings.Split(string(out), "\n")
  		for i, line := range lines {
  			if trimmed := strings.TrimSpace(line); strings.HasPrefix(trimmed, dnsSuffixSearchLisLabel) {
  				if parts := strings.Split(trimmed, ":"); len(parts) > 1 {
  					if trimmed := strings.TrimSpace(parts[1]); trimmed != "" {
  						suffixList = append(suffixList, strings.TrimSpace(parts[1]))
  					}
  					for j := i + 1; j < len(lines); j++ {
  						if trimmed := strings.TrimSpace(lines[j]); trimmed != "" && !strings.Contains(trimmed, ":") {
  							suffixList = append(suffixList, trimmed)
  						} else {
  							break
  						}
  					}
  				}
  				break
  			}
  		}
  	} else {
  		klog.V(1).Infof("Running %s %s failed: %v", cmdIpconfig, cmdDefaultArgs, err)
  	}
  
  	return suffixList, err
  }
docs: // GetDNSSuffixSearchList returns the list of DNS suffix to search