@@ -10,18 +10,18 @@ import (
10
10
"github.com/code-ready/crc/pkg/crc/services"
11
11
12
12
"github.com/code-ready/crc/pkg/os/windows/powershell"
13
+ "github.com/code-ready/crc/pkg/os/windows/win32"
13
14
)
14
15
15
16
func runPostStartForOS (serviceConfig services.ServicePostStartConfig , result * services.ServicePostStartResult ) (services.ServicePostStartResult , error ) {
16
- mainInterface := getMainInterface ()
17
- serverAddresses := getInterfaceNameserverValues (mainInterface )
18
- serverAddresses = append ([]string {serviceConfig .IP }, serverAddresses ... )
17
+ // TODO: localize
18
+ networkInterface := "vEthernet (Default Switch)" //getMainInterface()
19
19
20
- setInterfaceNameserverValues ( mainInterface , serverAddresses )
20
+ setInterfaceNameserverValue ( networkInterface , serviceConfig . IP )
21
21
22
22
time .Sleep (2 * time .Second )
23
23
24
- if ! contains (getInterfaceNameserverValues (mainInterface ), serviceConfig .IP ) {
24
+ if ! contains (getInterfaceNameserverValues (networkInterface ), serviceConfig .IP ) {
25
25
err := errors .New ("Nameserver not successfully set" )
26
26
result .Success = false
27
27
result .Error = err .Error ()
@@ -60,11 +60,11 @@ func formatValues(serverAddresses []string) string {
60
60
return out
61
61
}
62
62
63
- func setInterfaceNameserverValues (iface string , serverAddresses [] string ) {
64
- setDNSServerCommand := fmt . Sprintf ( `Set-DNSClientServerAddress "%s" -ServerAddresses (%s)` ,
65
- iface , formatValues ( serverAddresses ) )
63
+ func setInterfaceNameserverValue (iface string , address string ) {
64
+ exe := "netsh"
65
+ args := fmt . Sprintf ( `interface ip set dns "%s" static %s primary` , iface , address )
66
66
67
- powershell . ExecuteAsAdmin ( setDNSServerCommand )
67
+ win32 . ShellExecute ( win32 . HWND_DESKTOP , "runas" , exe , args , "" , 0 )
68
68
}
69
69
70
70
func getMainInterface () string {
0 commit comments