04. maj 2004 - 12:46Der er
10 kommentarer og 1 løsning
Deaktivering af systemgendannelse.
Jeg er i gang med at kode et lille program, som skal deaktivere Windows XP's systemgendannelse, men synes ikke rigtigt, at kunne finde ud af hvordan og hvorledes.
Du skal arbejde lidt i registreringsdatabasen. Her er de nøgler, der skal sættes og de tilhørende værdier: Registry Settings System Key: [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\SystemRestore] Value Name: DisableConfig, DisableSR Data Type: REG_DWORD (DWORD Value) Value Data: (1 = enable restriction)
Jeg har ikke stien [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\SystemRestore]
Jeg søgte derfor på strengen "SystemRestore" hvor jeg også finder en forekomst, men i denne findes de Value Name: DisableConfig ikke. DisableSR er her, men der sker ikke det store ved at ændre dens værdi.
Open your registry and find or create the key below. Disable System Restore on Start Menu Create a new DWORD value called "DisableSR" and set it to "1" to disable the System Restore tools on the Start menu (Start > Programs > Accessories > System Tools > System Restore).
Restrict Access to System Restore Settings Create a new DWORD value called "DisableConfig" and set it to "1" to disable System Restore Settings link in the System Restore interface and the Control Panel > System > System Restore page.
Changes take effect immediately.
Note: These settings will not stop Windows from making automatic System Checkpoints, but will disable access to restore them.
Der står at servicen IKKE stoppes, men brugeren forhindres adgang til værktøjerne.
Ved fjernelse af viraerne W32.blaster og W32.sasser kræves der, at man deaktivere systemgendannelsen. I sådan en situation er jeg ikke sikker på, at det er nok at fjerne adgangen til værktøjerne.
Programmet som jeg er i gang med at kode, skal netop finde og fjerne de pågældende viraerne samt lukke de to sikkerhedshuller i Windows. Jeg har derfor brug for, at tjenesten deaktiveres.
Jeg har lavet et lille forsøg :-) Indsæt flg. kode i Notepad
Dim SRP, eSRP Set SRP = GetObject("winmgmts:\\.\root\default:SystemRestore") eSRP = SRP.disable("D:\")
Gem filen som Disable_D.VBS
Når man dobbeltklikker på filen , vil drev D's systemrestore blive disabled. Jeg har ikke afprøvet hvordan du kan kalde scriptet fra Delphi. Mener at du må kunne kalde WScript.exe med parameteren Disable_D.vbs.
Det vil selvfølgelig være mere elegant at det hele klares fra Delphi.
Her er et aftestet eksempel: Jeg har laver filen Disable_D.VBS som nævnt tidligere. Denn fil kalder jeg med nedenstående kode:
procedure TForm1.Button1Click(Sender: TObject); begin if ShellExecute(Form1.Handle, nil, 'd:\projects\test\disable_d.vbs', nil, nil, SW_SHOW) <= 32 then Application.MessageBox('Couldn''t execute the application', 'Error', MB_ICONEXCLAMATION); end;
Herefter er systemgendannelsen disabled for D-drevet.
Håber du kan bruge det :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.