Author: arkurth Date: Tue Aug 25 20:33:13 2009 New Revision: 807796 URL: http://svn.apache.org/viewvc?rev=807796&view=rev Log: VCL-23 Added Windows.pm::disable_system_restore() subroutine. This is called from pre_capture() to reduce the image size.
Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm Modified: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm?rev=807796&r1=807795&r2=807796&view=diff ============================================================================== --- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm (original) +++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows.pm Tue Aug 25 20:33:13 2009 @@ -214,6 +214,16 @@ =item * + Disable System Restore + +=cut + + if (!$self->disable_system_restore()) { + notify($ERRORS{'WARNING'}, 0, "unable to disable system restore"); + } + +=item * + Disable Internet Explorer configuration page =cut @@ -7753,6 +7763,46 @@ #///////////////////////////////////////////////////////////////////////////// +=head2 disable_system_restore + + Parameters : None + Returns : If successful: true + If failed: false + Description : Sets registry key to disable Windows System Restore. Disabling + System Restore helps reduce the image size. + +=cut + +sub disable_system_restore { + my $self = shift; + if (ref($self) !~ /windows/i) { + notify($ERRORS{'CRITICAL'}, 0, "subroutine was called as a function, it must be called as a class method"); + return; + } + + my $management_node_keys = $self->data->get_management_node_keys(); + my $computer_node_name = $self->data->get_computer_node_name(); + + my $registry_string .= <<"EOF"; +Windows Registry Editor Version 5.00 + +[HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows NT\\SystemRestore] +"DisableConfig"=dword:00000001 +EOF + + # Import the string into the registry + if ($self->import_registry_string($registry_string)) { + notify($ERRORS{'OK'}, 0, "disabled system restore"); + return 1; + } + else { + notify($ERRORS{'WARNING'}, 0, "failed to disable system restore"); + return 0; + } +} + +#///////////////////////////////////////////////////////////////////////////// + 1; __END__