Kezdőlap > Windows 98 > %Computername% in Windows 98

%Computername% in Windows 98


Adott problema kapcsan szuksegem volt egy olyan logra, ahol parancs-fajlbol irogatom a torteneseket. Ahhoz, hogy le tudjam kovetni, hogy ki is loggolta az adott esemenyt, a %ComputerName% valtozot is kiirattam a logba.
 
Ekkor derult ki, hogy csak kiiratnam. Ugyanis amig Windows 2000 es XP eseten letezik ez a kornyezeti valtozo, addig Win98 eseten nem.
Ezutan hosszas fejtores kovetkezett. Ugyanis mindenkepp ezt szerettem volna hasznalni. Igen am, de akkor hogyan is? Nos, az alaplepesek egyszeruen felvazolodtak:
1. kiolvassuk valahonnan
2. beallitjuk a kornyezeti valtozo erteket
3. kesz
 
Termeszetesen mindezt olyan parancsokkal, amelyek Win98 eseten is lefutnak. NT alatt sokkal egyszerubb lett volna a helyzet – dehat azzal kell elni, ami van.
 
Kezdtem az elso lepessel. Honnan is tudjuk kiolvasni? Registry-bol vagy valamilyen allomanybol. Letezhet a C: gyokerben egy telepitesi log, abbol talan elo lehet keresni – dehat ez bazi hosszu, arrol nem beszelve, mi van, ha ez torlesre kerult. Sokkal kezenfekvobb, ha a registy-bol olvassuk ki. Termeszetesen nem gond, a HKEY_LOCAL_MACHINESystemCurrentControlSetControlComputerNameComputerName kulcs alatt a ComputerName ertek tartalmazza a kivant erteket.
 
Eddig meg nem hasznaltam (parancs-sorbol), de a regedit /E kapcsolojaval ki lehet exportalni. Ez viszont meg nyers allomany, ugyanis tartalmaz felesleges sorokat is. Ebbol ki lehet emelni a lenyeges sort egy Find segitsegevel, majd egy trukkos megoldassal ki lehet nyerni belole a lenyeget.
 
Ezutan mar nem gond a kornyezeti valtozo beallitasa, hiszen a Set parancs pont erre jo.
 
Igen am, de nekunk globalis kornyezeti valtozora van szuksegunk, nem csak ideiglenesre. Win 98 eseten ez viszont csak akkor megoldhato, ha az Autoexec.bat tartalmazza az ertekadast. Igen am, de ekkor meg a %Windir%-nek nincs erteke, igy maradt a %winbootdir%, ami registry ertek.
 
Ennek kovetkezteben kicsit at kellett irni a mar mukodo batch-allomanyt, hiszen (a trukk miatt) kotelezoen a C: gyokerben kell fusson. Mukodese utan viszont mar csak az maradt hatra, hogy globalisan hozzafuzni a futtatasahoz szukseges sort minden Autoexec-hez. Mivel nem celszeru egyesevel vegigjarni a gepeket, ez egy logon-script segitsegevel valosithato meg, amely ellenoriz bizonyos allomany letezeset, s ennek hianyaban  letrehoz egy uj Autoexec-et, a regit elmenti, majd az ujat atnevezi a regi helyere. Ugyanez a logon script masolja a kozponti megosztasrol a helyi lemezre a futtatando allomanyt is.
 
Termeszetesen nem ment egyszeruen a lenyeget tartalmazo script osszeallitasa, sokszor kellett szinte elolrol kezdeni, de egy napos kiserletezes utan csak megszuletett :). Erthetoseg kedveert angolul telekommenteztem…
 
@echo off
:: This line will be used in the second run, when the 2nd parameter is Goto
%2
 
:: Reading registry
%winbootdir%regedit /E C:CN$.reg "HKEY_LOCAL_MACHINESystemCurrentControlSetControlComputerNameComputerName"
 
:: Process the temporary REG file
%Winbootdir%CommandFIND /I "=" <C:CN$.reg >C:CN$.bat
 
:: %0 is the full path and name for this batchfile
:: %%1 will be converted to %1 in the output
:: %%2 will be the Goto:Parse
:: The batch file name must be the registry key name
Echo %0 %%1 Goto:Parse >C:ComputerName.bat
 
:: Call the line extracted from registry (we have now a batch file with this name)
Call C:CN$.bat
 
:: Delete all the temporary files we created
Del C:CN$.*
Del C:ComputerName.bat
Goto:End
 
:Parse
:: Here will start the second run
:: This for is to strip double quotes "" from variable
for %%A IN (%1) DO Set ComputerName=%%A
 
:End
Reklámok
Kategóriák:Windows 98
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: