Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_5.pm URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_5.pm?rev=996613&r1=996612&r2=996613&view=diff ============================================================================== --- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_5.pm (original) +++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_5.pm Mon Sep 13 17:43:19 2010 @@ -164,6 +164,7 @@ sub run_sysprep { my $management_node_keys = $self->data->get_management_node_keys(); my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path(); # Specify where on the node the sysprep.inf file will reside my $node_configuration_directory = $self->get_node_configuration_directory(); @@ -172,8 +173,6 @@ sub run_sysprep { my $node_working_sysprep_directory = 'C:/Sysprep'; my $node_working_sysprep_exe_path = 'C:\\Sysprep\\sysprep.exe'; - my $system32_path = $self->get_system32_path(); - # Get the sysprep.inf file contents my $sysprep_contents = $self->get_sysprep_inf_contents(); if (!$sysprep_contents) { @@ -269,7 +268,7 @@ sub run_sysprep { # Assemble the Sysprep command # Run Sysprep.exe, use cygstart to lauch the .exe and return immediately - my $sysprep_command = "/bin/cygstart.exe cmd.exe /c \""; + my $sysprep_command = "/bin/cygstart.exe $system32_path/cmd.exe /c \""; # First enable DHCP on the private and public interfaces and delete the default route my $private_interface_name = $self->get_private_interface_name(); @@ -595,12 +594,10 @@ sub firewall_enable_sessmgr { my $management_node_keys = $self->data->get_management_node_keys(); my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path(); - my $sessmgr_path = $self->get_system32_path() . "/sessmgr.exe"; - $sessmgr_path =~ s/\//\\\\/g; - # Configure the firewall to allow the sessmgr.exe program - my $netsh_command = 'netsh firewall set allowedprogram name = "Microsoft Remote Desktop Help Session Manager" mode = ENABLE scope = ALL profile = ALL program = "' . $sessmgr_path . '"'; + my $netsh_command = "$system32_path/netsh.exe firewall set allowedprogram name = \"Microsoft Remote Desktop Help Session Manager\" mode = ENABLE scope = ALL profile = ALL program = \"$system32_path/sessmgr.exe\""; my ($netsh_status, $netsh_output) = run_ssh_command($computer_node_name, $management_node_keys, $netsh_command); if (defined($netsh_status) && $netsh_status == 0) { notify($ERRORS{'DEBUG'}, 0, "configured firewall to allow sessmgr.exe");
Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6.pm URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6.pm?rev=996613&r1=996612&r2=996613&view=diff ============================================================================== --- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6.pm (original) +++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6.pm Mon Sep 13 17:43:19 2010 @@ -484,9 +484,9 @@ sub run_slmgr_ipk { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); - my $system32_path = $self->get_system32_path(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Get the arguments my $product_key = shift; @@ -496,7 +496,7 @@ sub run_slmgr_ipk { } # Run cscript.exe slmgr.vbs -ipk to install the product key - my $ipk_command = "$system32_path/cmd.exe /c cscript.exe //NoLogo C:/Windows/System32/slmgr.vbs -ipk $product_key"; + my $ipk_command = "$system32_path/cmd.exe /c $system32_path/cscript.exe //NoLogo $system32_path/slmgr.vbs -ipk $product_key"; my ($ipk_exit_status, $ipk_output) = run_ssh_command($computer_node_name, $management_node_keys, $ipk_command); if (defined($ipk_exit_status) && $ipk_exit_status == 0 && grep(/successfully/i, @$ipk_output)) { notify($ERRORS{'OK'}, 0, "installed product key: $product_key"); @@ -531,13 +531,13 @@ sub run_slmgr_ckms { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); - my $system32_path = $self->get_system32_path(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Run slmgr.vbs -ckms to clear an existing KMS server from a computer # slmgr.vbs must be run in a command shell using the correct System32 path or the task it's supposed to do won't really take effect - my $skms_command = "$system32_path/cmd.exe /c cscript.exe //NoLogo C:/Windows/System32/slmgr.vbs -ckms"; + my $skms_command = "$system32_path/cmd.exe /c $system32_path/cscript.exe //NoLogo $system32_path/slmgr.vbs -ckms"; my ($skms_exit_status, $skms_output) = run_ssh_command($computer_node_name, $management_node_keys, $skms_command); if (defined($skms_exit_status) && $skms_exit_status == 0 && grep(/successfully/i, @$skms_output)) { notify($ERRORS{'OK'}, 0, "cleared kms server"); @@ -572,13 +572,13 @@ sub run_slmgr_cpky { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); - my $system32_path = $self->get_system32_path(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Run slmgr.vbs -cpky to clear an existing product key from a computer # slmgr.vbs must be run in a command shell using the correct System32 path or the task it's supposed to do won't really take effect - my $skms_command = "$system32_path/cmd.exe /c cscript.exe //NoLogo C:/Windows/System32/slmgr.vbs -cpky"; + my $skms_command = "$system32_path/cmd.exe /c $system32_path/cscript.exe //NoLogo $system32_path/slmgr.vbs -cpky"; my ($skms_exit_status, $skms_output) = run_ssh_command($computer_node_name, $management_node_keys, $skms_command); if (defined($skms_exit_status) && $skms_exit_status == 0 && grep(/successfully/i, @$skms_output)) { notify($ERRORS{'OK'}, 0, "cleared product key"); @@ -613,9 +613,9 @@ sub run_slmgr_skms { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); - my $system32_path = $self->get_system32_path(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Get the KMS address argument my $kms_address = shift; @@ -629,7 +629,7 @@ sub run_slmgr_skms { # Run slmgr.vbs -skms to configure the computer to use the KMS server # slmgr.vbs must be run in a command shell using the correct System32 path or the task it's supposed to do won't really take effect - my $skms_command = "$system32_path/cmd.exe /c cscript.exe //NoLogo C:/Windows/System32/slmgr.vbs -skms $kms_address:$kms_port"; + my $skms_command = "$system32_path/cmd.exe /c $system32_path/cscript.exe //NoLogo $system32_path/slmgr.vbs -skms $kms_address:$kms_port"; my ($skms_exit_status, $skms_output) = run_ssh_command($computer_node_name, $management_node_keys, $skms_command); if (defined($skms_exit_status) && $skms_exit_status == 0 && grep(/successfully/i, @$skms_output)) { notify($ERRORS{'OK'}, 0, "set kms server to $kms_address:$kms_port"); @@ -664,12 +664,12 @@ sub run_slmgr_ato { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); - my $system32_path = $self->get_system32_path(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Run cscript.exe slmgr.vbs -ato to install the product key - my $ato_command = "$system32_path/cmd.exe /c cscript.exe //NoLogo C:/Windows/System32/slmgr.vbs -ato"; + my $ato_command = "$system32_path/cmd.exe /c $system32_path/cscript.exe //NoLogo $system32_path/slmgr.vbs -ato"; my ($ato_exit_status, $ato_output) = run_ssh_command($computer_node_name, $management_node_keys, $ato_command); if (defined($ato_exit_status) && $ato_exit_status == 0 && grep(/successfully/i, @$ato_output)) { notify($ERRORS{'OK'}, 0, "activated license"); @@ -704,12 +704,12 @@ sub run_slmgr_dlv { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); - my $system32_path = $self->get_system32_path(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Run cscript.exe slmgr.vbs -dlv to install the product key - my $dlv_command = "$system32_path/cmd.exe /c cscript.exe //NoLogo C:/Windows/System32/slmgr.vbs -dlv"; + my $dlv_command = "$system32_path/cmd.exe /c $system32_path/cscript.exe //NoLogo $system32_path/slmgr.vbs -dlv"; my ($dlv_exit_status, $dlv_output) = run_ssh_command($computer_node_name, $management_node_keys, $dlv_command, '', '', 0); if (defined($dlv_exit_status) && $dlv_exit_status == 0) { notify($ERRORS{'OK'}, 0, "licensing information:\n" . join("\n", @$dlv_output)); @@ -745,12 +745,12 @@ sub get_license_status { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); - my $system32_path = $self->get_system32_path(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Run cscript.exe slmgr.vbs -dlv to get the activation status - my $dlv_command = "$system32_path/cmd.exe /c cscript.exe //NoLogo C:/Windows/System32/slmgr.vbs -dlv"; + my $dlv_command = "$system32_path/cmd.exe /c $system32_path/cscript.exe //NoLogo $system32_path/slmgr.vbs -dlv"; my ($dlv_exit_status, $dlv_output) = run_ssh_command($computer_node_name, $management_node_keys, $dlv_command, '', '', 0); if ($dlv_output && grep(/License Status/i, @$dlv_output)) { #notify($ERRORS{'DEBUG'}, 0, "retrieved license information"); @@ -876,18 +876,19 @@ sub firewall_enable_ping { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # First delete any rules which allow ping and then add a new rule my $add_rule_command; - $add_rule_command .= 'netsh.exe advfirewall firewall delete rule'; + $add_rule_command .= $system32_path . '/netsh.exe advfirewall firewall delete rule'; $add_rule_command .= ' name=all'; $add_rule_command .= ' dir=in'; $add_rule_command .= ' protocol=icmpv4:8,any'; - $add_rule_command .= ' ;'; + $add_rule_command .= ' ; '; - $add_rule_command .= ' netsh.exe advfirewall firewall add rule'; + $add_rule_command .= $system32_path . '/netsh.exe advfirewall firewall add rule'; $add_rule_command .= ' name="VCL: allow ping to/from any address"'; $add_rule_command .= ' description="Allows incoming ping (ICMP type 8) messages to/from any address"'; $add_rule_command .= ' protocol=icmpv4:8,any'; @@ -932,8 +933,9 @@ sub firewall_enable_ping_private { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Get the computer's private IP address my $private_ip_address = $self->get_private_ip_address(); @@ -944,13 +946,13 @@ sub firewall_enable_ping_private { # First delete any rules which allow ping and then add a new rule my $add_rule_command; - $add_rule_command .= 'netsh.exe advfirewall firewall delete rule'; + $add_rule_command .= $system32_path . '/netsh.exe advfirewall firewall delete rule'; $add_rule_command .= ' name=all'; $add_rule_command .= ' dir=in'; $add_rule_command .= ' protocol=icmpv4:8,any'; - $add_rule_command .= ' ;'; + $add_rule_command .= ' ; '; - $add_rule_command .= ' netsh.exe advfirewall firewall add rule'; + $add_rule_command .= $system32_path . '/netsh.exe advfirewall firewall add rule'; $add_rule_command .= ' name="VCL: allow ping to ' . $private_ip_address . '"'; $add_rule_command .= ' description="Allows incoming ping (ICMP type 8) messages to ' . $private_ip_address . '"'; $add_rule_command .= ' protocol=icmpv4:8,any'; @@ -994,12 +996,13 @@ sub firewall_disable_ping { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # First delete any rules which allow ping and then add a new rule my $netsh_command; - $netsh_command .= 'netsh.exe advfirewall firewall delete rule'; + $netsh_command .= $system32_path . '/netsh.exe advfirewall firewall delete rule'; $netsh_command .= ' name=all'; $netsh_command .= ' dir=in'; $netsh_command .= ' protocol=icmpv4:8,any'; @@ -1051,8 +1054,9 @@ sub firewall_enable_rdp { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; my $remote_ip; my $rule_name; @@ -1097,13 +1101,13 @@ sub firewall_enable_rdp { my $add_rule_command; # Set the key to allow remote connections whenever enabling RDP - $add_rule_command .= 'reg.exe ADD "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server" /t REG_DWORD /v fDenyTSConnections /d 0 /f ; '; + $add_rule_command .= $system32_path . '/reg.exe ADD "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server" /t REG_DWORD /v fDenyTSConnections /d 0 /f ; '; # Set the key to allow connections from computers running any version of Remote Desktop - $add_rule_command .= 'reg.exe ADD "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp" /t REG_DWORD /v UserAuthentication /d 0 /f ; '; + $add_rule_command .= $system32_path . '/reg.exe ADD "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp" /t REG_DWORD /v UserAuthentication /d 0 /f ; '; # First delete any rules which allow ping and then add a new rule - $add_rule_command .= "netsh.exe advfirewall firewall delete rule"; + $add_rule_command .= "$system32_path/netsh.exe advfirewall firewall delete rule"; $add_rule_command .= " name=all"; $add_rule_command .= " dir=in"; $add_rule_command .= " protocol=TCP"; @@ -1113,7 +1117,7 @@ sub firewall_enable_rdp { # Add the rule to open RDP for the private IP address if the private IP address was found # No need to add the rule if the remote IP is any because it will be opened universally if ($private_ip_address && (!$remote_ip || ($remote_ip && $remote_ip ne 'any'))) { - $add_rule_command .= " netsh.exe advfirewall firewall add rule"; + $add_rule_command .= " $system32_path/netsh.exe advfirewall firewall add rule"; $add_rule_command .= " name=\"VCL: allow RDP port 3389 to $private_ip_address\""; $add_rule_command .= " description=\"Allows incoming RDP (TCP port 3389) traffic to $private_ip_address\""; $add_rule_command .= " protocol=TCP"; @@ -1127,7 +1131,7 @@ sub firewall_enable_rdp { # Add the rule to open RDP for the remote public IP address if ($remote_ip) { - $add_rule_command .= " netsh.exe advfirewall firewall add rule"; + $add_rule_command .= " $system32_path/netsh.exe advfirewall firewall add rule"; $add_rule_command .= " name=\"$rule_name\""; $add_rule_command .= " description=\"$rule_description\""; $add_rule_command .= " protocol=TCP"; @@ -1196,12 +1200,13 @@ sub firewall_disable_rdp { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # First delete any rules which allow ping and then add a new rule my $netsh_command; - $netsh_command .= 'netsh.exe advfirewall firewall delete rule'; + $netsh_command .= $system32_path. '/netsh.exe advfirewall firewall delete rule'; $netsh_command .= ' name=all'; $netsh_command .= ' dir=in'; $netsh_command .= ' protocol=TCP'; @@ -1252,6 +1257,10 @@ sub firewall_enable_ssh { return; } + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; + my $rule_name; my $rule_description; my $rule_localip; @@ -1273,9 +1282,6 @@ sub firewall_enable_ssh { $rule_localip = "any"; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); - # Assemble a chain of commands my $add_rule_command; @@ -1284,18 +1290,18 @@ sub firewall_enable_ssh { my $firewall_state = $self->get_firewall_state() || 'ON'; if ($firewall_state eq 'ON') { notify($ERRORS{'DEBUG'}, 0, "firewall is on, it will be turned off while SSH port exceptions are altered"); - $add_rule_command .= 'netsh.exe advfirewall set currentprofile state off ; sleep 1 ; '; + $add_rule_command .= $system32_path . '/netsh.exe advfirewall set currentprofile state off ; sleep 1 ; '; } # The existing matching rules must be deleted first or they will remain in effect - $add_rule_command .= "netsh.exe advfirewall firewall delete rule"; + $add_rule_command .= "$system32_path/netsh.exe advfirewall firewall delete rule"; $add_rule_command .= " name=all"; $add_rule_command .= " dir=in"; $add_rule_command .= " protocol=TCP"; $add_rule_command .= " localport=22"; $add_rule_command .= " ;"; - $add_rule_command .= " netsh.exe advfirewall firewall add rule"; + $add_rule_command .= " $system32_path/netsh.exe advfirewall firewall add rule"; $add_rule_command .= " name=\"$rule_name\""; $add_rule_command .= " description=\"$rule_description\""; $add_rule_command .= " protocol=TCP"; @@ -1323,7 +1329,7 @@ sub firewall_enable_ssh { # Turn the firewall back on after SSH exceptions are set if ($firewall_state eq 'ON') { - my $firewall_enable_command = 'netsh.exe advfirewall set currentprofile state on'; + my $firewall_enable_command = "$system32_path/netsh.exe advfirewall set currentprofile state on"; my ($firewall_enable_exit_status, $firewall_enable_output) = run_ssh_command($computer_node_name, $management_node_keys, $firewall_enable_command); if (defined($firewall_enable_output) && @$firewall_enable_output[-1] =~ /Ok/i) { notify($ERRORS{'OK'}, 0, "turned on firewall after turning it off to alter SSH port exceptions"); @@ -1380,11 +1386,12 @@ sub get_firewall_state { return; } - my $management_node_keys = $self->data->get_management_node_keys(); - my $computer_node_name = $self->data->get_computer_node_name(); + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Run netsh.exe to get the state of the current firewall profile - my $netsh_command = 'netsh.exe advfirewall show currentprofile state'; + my $netsh_command = "$system32_path/netsh.exe advfirewall show currentprofile state"; my ($netsh_exit_status, $netsh_output) = run_ssh_command($computer_node_name, $management_node_keys, $netsh_command, '', '', 0); if (defined($netsh_output)) { notify($ERRORS{'DEBUG'}, 0, "retrieved firewall state"); @@ -1442,9 +1449,8 @@ sub run_sysprep { my $management_node_keys = $self->data->get_management_node_keys(); my $computer_node_name = $self->data->get_computer_node_name(); - my $system32_path = $self->get_system32_path(); - my $system32_path_dos = $system32_path; - $system32_path_dos =~ s/\//\\/g; + my $system32_path = $self->get_system32_path() || return; + my $node_configuration_directory = $self->get_node_configuration_directory(); # Delete existing Panther directory, contains Sysprep log files @@ -1483,7 +1489,7 @@ sub run_sysprep { } # Uninstall and reinstall MsDTC - my $msdtc_command = "msdtc.exe -uninstall ; msdtc.exe -install"; + my $msdtc_command = "$system32_path/msdtc.exe -uninstall ; $system32_path/msdtc.exe -install"; my ($msdtc_status, $msdtc_output) = run_ssh_command($computer_node_name, $management_node_keys, $msdtc_command); if (defined($msdtc_status) && $msdtc_status == 0) { notify($ERRORS{'DEBUG'}, 0, "reinstalled MsDtc"); @@ -1583,7 +1589,7 @@ EOF $self->run_slmgr_dlv(); # Run Sysprep.exe, use cygstart to lauch the .exe and return immediately - my $sysprep_command = "/bin/cygstart.exe cmd.exe /c \""; + my $sysprep_command = "/bin/cygstart.exe $system32_path/cmd.exe /c \""; # First enable DHCP on the private and public interfaces and delete the default route my $private_interface_name = $self->get_private_interface_name(); @@ -1604,7 +1610,7 @@ EOF $sysprep_command .= "$system32_path/netsh.exe interface ip set dns name=\\\"$public_interface_name\\\" source=dhcp & "; # Run Sysprep.exe - $sysprep_command .= "$system32_path_dos\\sysprep\\sysprep.exe /generalize /oobe /shutdown /quiet /unattend:$system32_path_dos\\sysprep\\Unattend.xml"; + $sysprep_command .= "$system32_path/sysprep/sysprep.exe /generalize /oobe /shutdown /quiet /unattend:$system32_path/sysprep/Unattend.xml"; $sysprep_command .= "\""; @@ -1670,9 +1676,9 @@ sub set_ignore_default_routes { return; } - # Get required data my $management_node_keys = $self->data->get_management_node_keys(); my $computer_node_name = $self->data->get_computer_node_name(); + my $system32_path = $self->get_system32_path() || return; # Get the private interface name my $private_interface_name = $self->get_private_interface_name(); @@ -1682,7 +1688,7 @@ sub set_ignore_default_routes { } # Run netsh.exe to configure any default routes configured for the private interface to be ignored - my $private_netsh_command = "netsh.exe interface ip set interface \"$private_interface_name\" ignoredefaultroutes=enabled"; + my $private_netsh_command = "$system32_path/netsh.exe interface ip set interface \"$private_interface_name\" ignoredefaultroutes=enabled"; my ($private_netsh_exit_status, $private_netsh_output) = run_ssh_command($computer_node_name, $management_node_keys, $private_netsh_command); if (defined($private_netsh_exit_status) && $private_netsh_exit_status == 0) { notify($ERRORS{'OK'}, 0, "configured interface \"$private_interface_name\": ignore default routes = enabled"); @@ -1704,7 +1710,7 @@ sub set_ignore_default_routes { } # Run netsh.exe to configure any default routes configured for the public interface to be used - my $public_netsh_command = "netsh.exe interface ip set interface \"$public_interface_name\" ignoredefaultroutes=disabled"; + my $public_netsh_command = "$system32_path/netsh.exe interface ip set interface \"$public_interface_name\" ignoredefaultroutes=disabled"; my ($public_netsh_exit_status, $public_netsh_output) = run_ssh_command($computer_node_name, $management_node_keys, $public_netsh_command); if (defined($public_netsh_exit_status) && $public_netsh_exit_status == 0) { notify($ERRORS{'OK'}, 0, "configured interface \"$public_interface_name\": ignore default routes = disabled");
