Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] jak wpisac klucz rejestru,gdy sys. blokuje?

To: winnt@man.lodz.pl
Subject: Re: [WINNT] jak wpisac klucz rejestru,gdy sys. blokuje?
From: artiun <artiun@spam.wp.pl>
Date: Thu, 11 May 2017 21:09:27 +0200
W dniu 2017-05-11 o 15:05, 1634Racine pisze:
artiun w news:5913bd33$0$15207$65785112@news.neostrada.pl
W dniu 2017-05-10 o 21:34, 1634Racine pisze:
Grzegorz Niemirowski w news:oevoco$f7h$1@node2.news.atman.pl
1634Racine <mnjfmr@j.cbqebml> napisał(a):
jak  wpisac do rejestru klucz, ktorego system nie przyjmuje nawet w
trybie  awaryjnym (system blokuje nawet wowczas, wiadomo dlaczego)?
Dlaczego tryb awaryjny miałby coś zmienić? Jak nie masz uprawnień to nie
zapiszesz.
"jak nie mam uprawnien". A jesli mam i w normalnym trybie dostaje info,ze
"klucz jest uzywany" i tylko dlatego finito?
to schodze do s.mode i licze na to, ze    m o z e  to nie system
calosciowo blokuje i tylko jakis grat nie bedzie w tym trybie uzywany
i da sie tam cos dobrego wpisac.
btw: w sumie glupio bylo na to liczyc i ja o tym wiem, ale byl jakis inny
pomysl....?
Odpowiedziałeś sam sobie, po jaki czort walczysz z wiatrakami, nie możesz
czegoś pokonać, OBEJDZ.

obszedlem.

Weź sobie LiveCD podepnij rejestr i zmień.

tego jeszcze nie cwiczylem.

Przyczyn może być wiele. Nawet taki AV/Firewall, który pilnuje kluczy
rejestru. Cały raczej nie jest blokowany.

owszem, przyczyn moze byc wiele. Trzy. "Cos" blokuje, albo system z
definicji blokuje, albo brak uprawnien - co zawiera sie w sumie w drugim. No
i moze jeszcze 16 innych powodow - nie znam.
Też nie wierzę, i jakoś ie ufam. Dlatego przy zamykaniu systemu mam coś takiego:

Zadko zamkam, przy zaniku zasilania był problem. Z liveCD przywracałem (z kopii jak niżej). Pomógł ntregopt. Wyszło na to, że błędy były już wcześniej. Sprawdzone dla 2000 i XP, dlatego pytałem o system.

/*

   Skrypt powinien zostać wywołany automatycznie podczas wylogowania
   lub zamykania systemu (w zależnosci od potrzeb).

   * gpedit.msc -> Konfiguracja użytkownika /
   *               Ustawienia systemu Windows /
   *               Skrypty (Logowanie/Wylogowanie)
   *
   * gpedit.msc -> Konfiguracja komputera
   *               Ustawienia systemu Windows
   *               Skrypty (Uruchamianie/Zamykanie)

   Rejestr jest modyfikowany podczas pracy Windows. aby zapewnic bezpieczeństwo
   systemu wykonywana jest kopia rejestru. Z załozenia przechowywanych jest
   nLastSave kopii (2). Kopia zachowywana jest w defaultowym katalogu
   c:\winnt\erdnt. Na dany dzień jest tylko jedna kopia, jest to ostatnia
   kopia z tego dnia (czyli z ostatniego wylogowania/zamkniecia systemu
   w danym dniu).

   Katalogi defaultowo sortowane są po nazwie więc kasuje się wszystkie kopie
prócz ostatnich nLastSave. Ilość kopii jest w tym wypadku uzalezniona od wielkości
   jednego zbiorczego rejesrtu (50MB i wiecej).

   Wywołanie erunt:
   E:\WinsApp\TOOLS\System\ERUNT\ERUNT.EXE
DestinationFolder [sysreg][curuser][otheruser][/noconfirmdelete][/noprogresswindow]

*/

var cEruNT = "C:\\windows\\erdnt"; // katalog backupu var cEruNTExe = "E:\\WinsApp\\System\\ERUNT\\ERUNT.EXE"; // exec var cEruNTPar = "sysreg curuser otheruser /noconfirmdelete /noprogresswindow"; // wywolanie var nLastSave = 2; // ilosc kopii
var aFolders   = new Array();
var nInd       = 0;
var nFolders   = 0;

var wsh        = WScript.CreateObject( "WScript.Shell" );
var fso        = WScript.CreateObject( "Scripting.FileSystemObject" );
var oFolders   = fso.GetFolder( cEruNT );
var oSubFolder = new Enumerator( oFolders.SubFolders );

//
// ToTwo
//
function ToTwo( cIn )
{
   cIn = cIn.toString( 10 )
   if( cIn.length < 2 ) cIn = "0" + cIn;
   return( cIn );
}

//
// ExecEruNT
//
function ExecEruNT( cPar )
{
   var myWShell, cComm;

   myWShell = WScript.CreateObject( "WScript.Shell" );

   if( cPar != "" )
      myWShell.Run ( cPar, 0, true );

   return( true );
}

//
// Tu kopia (po dacie), jeśli dodatkowo kopia ma być wg czasu to odremowac resztę
//
var dDate      = new Date();
var cEruNTSDir =  dDate.getFullYear() + "-" +
                  ToTwo( dDate.getMonth() +1 ) + "-" +
                  ToTwo( dDate.getDate()     );
                  // + " " + ToTwo( dat.getHours()    ) + ":" +
                  // ToTwo( dat.getMinutes()  ) + ":" +
                  // ToTwo( dat.getSeconds()  );

//
// wykonanie kopii rejestru
//
ExecEruNT( cEruNTExe + " " + cEruNT + "\\" + cEruNTSDir + " " + cEruNTPar );

// To wszystkie foldery z kopia
for( ; !oSubFolder.atEnd(); oSubFolder.moveNext() )
{
   var oFolder = oSubFolder.item();
   aFolders[nFolders++] = oFolder.name;
}

//
// nFolders to ilość całkowita kopii, kolejne kopie są w aFolders
// Trzeba usunąć wszystko prócz ostatnich nLastSave
//
for( nInd=0; nInd<nFolders-nLastSave; nInd++ )
{
   fso.DeleteFolder( cEruNT + "\\" + aFolders[nInd] );
}


--
Artur

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>