Avatar billede oergaard Nybegynder
04. maj 2004 - 12:46 Der 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.

Ved du hvordan det kan kodes ??

//Oergaard
Avatar billede nca Juniormester
04. maj 2004 - 13:10 #1
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)
Avatar billede oergaard Nybegynder
04. maj 2004 - 14:25 #2
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.

//Oergaard
Avatar billede nca Juniormester
04. maj 2004 - 14:34 #3
Her er hvad de skriver på winguides.com:

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.
Avatar billede oergaard Nybegynder
04. maj 2004 - 14:53 #4
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.

//Oergaard
Avatar billede nca Juniormester
04. maj 2004 - 15:31 #5
Prøv at se om du kan bruge noget i dette link:
http://support.microsoft.com/default.aspx?scid=kb;en-us;295299&sd=tech
Avatar billede oergaard Nybegynder
05. maj 2004 - 13:50 #6
Jeg tror jeg kan bruge det til meget, hvis jeg bare vidste hvad nedenstående betød:
set SRP = GetObject("winmgmts:\\.\root\default:SystemRestore")

//Oergaard
Avatar billede nca Juniormester
07. maj 2004 - 11:14 #7
Det er VBScript kode.
Du bliver nødt til at installere en komponent, der kan hjælpe dig med at udføre den kode.
Se http://www.swissdelphicenter.ch/torry/showcode.php?id=1650
Avatar billede nca Juniormester
07. maj 2004 - 11:39 #8
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.
Avatar billede oergaard Nybegynder
02. juni 2004 - 07:59 #9
Det har jeg aldirg fået til at virke, så jeg er kommet der til, hvor jeg vil til at lære noget VB programmering også! :-)

Ellers tak for hjælpen!
Avatar billede nca Juniormester
02. juni 2004 - 08:16 #10
Tak for pointene :-)
Jeg har lidt travlt de næste par dage, men vil se, om jeg ikke kan brygge et færdigt projekt sammen til dig.
Avatar billede nca Juniormester
05. juni 2004 - 21:06 #11
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 :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester