Re: Log przy starcie i zamknieciu XP

Autor: artiun <artiun_at_wp.pl>
Data: Mon 16 May 2005 - 02:47:09 MET DST
Message-ID: <d68qpj$buq$1@nemesis.news.tpi.pl>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed

McP napisał(a):
> Slyszal ktos o jakims sofcie, ktory by realizowal takie funkcje? Albo
> przynajmniej jak to mozna sobie napisac? Dlubie troszke w Delphi.
>
Dla W2k wystarczą skrypty WSH (u mnie .js)
Skrypty Uruchamiania/Zamykania dotyczą lokalnego komputera
Przy użyciu gpedit.msc można je znaleźć w:
Konfiguracja komputera/Ustawienia systemu Windows

Bezpośredni do nich dostęp:
\WINNT\system32\GroupPolicy\Machine\Scripts\Startup
\WINNT\system32\GroupPolicy\Machine\Scripts\Shutdown

U mnie w katalogu \WINNT\system32\GroupPolicy\Machine\Scripts\
jest plik scripts.ini z treścią:

[Startup]
0CmdLine=E:\Bin\WSH\startup.js
0Parameters=
[Shutdown]
0CmdLine=E:\Bin\WSH\shutdown.js
0Parameters=

Jeden z plików (startup.js), drugi to właściwie kopia, może być
parametryczny, ale zrezygnowałem z takiej zabawy. Oba skrypty piszą do
tego samego pliku logonoff.log:

startup();
function startup()
{
    if( WScript.Version <= "5.0" ) { WScript.Quit(); }
    /*
    objArgs = WScript.Arguments;
    for (i = 0; i < objArgs.length; i++){ WScript.Echo(objArgs(i)); }
    */
    var flog = "e:/bin/wsh/logonoff.log";
    var dat = new Date();
    var out
    var fso
    var fot

    out = dat.getFullYear() + "-" +
           ToTwo( dat.getMonth() +1 ) + "-" +
           ToTwo( dat.getDate() ) + " " +
           ToTwo( dat.getHours() ) + ":" +
           ToTwo( dat.getMinutes() ) + ":" +
           ToTwo( dat.getSeconds() );

    fso = new ActiveXObject( "Scripting.FileSystemObject" );

    if( !fso.FileExists( flog ) )
       fot = fso.CreateTextFile( flog, true );
    else
       fot = fso.OpenTextFile( flog, 8, false);

    fot.WriteLine( "----------------------------------------" );
    fot.WriteLine( "System start: " + out );
    fot.Close();
    return( 0 );
}

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

-- 
Artur
Received on Mon May 16 02:50:15 2005

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Mon 16 May 2005 - 03:42:03 MET DST