HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Milyen újdonságok vannak a Windows Scripting Host 5.6-ban?



Windows 2000-ben a Windows Script Host (WSH) 5.1-es verziója található meg, a Windows XP-ben az 5.6-os, az 5-ös sorozat előtti utolsó verziószám 2.0. Mi indokolja ezt a nagy ugrást a verziószámban? Valóban ennyivel többet tud? Cikkünkben összefoglaljuk az új verzióban megjelent változtatásokat, röviden ismertetve, hogy melyik mit jelent és milyen irányban történtek változások a biztonság terén.

Mi a WSH?
A WSH a Windows parancsfájljainak - vagy gyakrabban használt nevükön szkriptjeinek - futtatására készített feldolgozó motor. Feldolgozza és a rendszer számára értelmezhetővé, futtathatóvá teszi a szkriptek tartalmát. Működése a háttérben történik, sokszor csak egy elírt programsor vagy jogosulatlan hozzáférés miatt keletkezett hibaüzenet erejéig találkozunk vele. A parancsfájlok futtatása történhet a grafikus felületen, például a Windows Intéző (Windows Explorer) segítségével vagy parancssorból a CSCRIPT.EXE használatával. 5.6 előtti verziókban Visual Basic Script (.vbs) és Java Script (.js) nyelveken készülhettek, de a verzióváltás ebben is hozott változást. A 2.0-ról 5.x-re történő váltásnak egyszerű oka van: a két verzió kiadása között évek teltek el és a fejlesztők ezt akarták jelezni a szám ugrással. Ami viszont megfogható tény: számos újdonsággal találkozhatunk a legújabb kiadásban.
Honnan tudjuk meg, hogy milyen verziójú WSH fut a gépünkön?
Indítsunk el egy parancssori ablakot és írjuk be: cscript. A WSH szkriptek futtatókörnyezetének súgóját fogjuk látni, aminek az első sorában szerepel a verziószám.
Hol érhető el a WSH 5.6?
A Windows XP és .NET szerverek beépítve tartalmazzák, de mi van a régebbi operációs rendszerekkel? Windows 98/ME/NT 4.0/2000 rendszerekhez letölthető a http://msdn.microsoft.com/scripting oldaláról.
Újdonságok
  • Új fájlformátum
Eddig Visual Basic Script (.vbs) és Java Script (.js) szintaxis szerint íródott szkriptek kezelése valósult meg. Az új verzióban már az XML nyelv is belekerült .wsf kiterjesztéssel, a Windows Script File rövidítéseként. Ez magával hozta a XML minden előnyét és nagyon leegyszerűsíti a komplex feladatok megoldását. Egy példa: adott kódba beágyazhatók egyedi, extra információk, akár futtatható fájl vagy külső hivatkozás formájában. Így a részenként megírt modulok egymást használva alkotnak egy nagy egységet. A részek módosítása, eltávolítása nem feltétlenül igényli a többi modul megváltoztatását. Az alkotóelemek helyileg lehetnek a merevlemezen, a hálózaton vagy akár az Interneten is. Élő kapcsolat mellett a felhasználó gyakorlatilag ebből semmit nem vesz észre, míg a programozó távolról bármikor képes az Interneten lévő részt javítani, frissíteni. Lehetőség van egy kódon belüli különböző szintaxis használatára is. Megtehetjük, hogy vegyesen használunk Visual Basic és Java szintaxist.
  • Gyermek folyamatok állapotának meghatározása és beavatkozás az I/O adatforgalmukba
A "WSHShell" objektumban található "Exec" metódussal a szabványos StdIn, StdOut, StdErr kimenetekhez hasonlóan kezelhetjük a szkriptek gyermekfolyamatait.
  • Emeltszintű biztonsági modell
A WSH eredetileg rendszer adminisztrátorok számára készült, hogy programozási eszközökkel férhessenek hozzá programokhoz. Az alapelv szerint tehát megbízható emberek eszköze volt, amellyel mélységbemenő konfigurációs és információszerzési műveleteket lehetett elvégezni. Mára ez a szerepkör megváltozott. A szkriptvírusok és Interneten keresztüli szkript-manipulációk szükségessé tették a szigorú biztonsági elvek következetes használatát. A WSH 5.6 lehetővé teszi, hogy a rendszergazda explicit módon előírja, mely felhasználók futtathatják a szkriptet és lekezeli a digitális aláírással ellátott állományokat is. A jogosulatlan hozzáférések és futtatások a helyi és a távoli gépen is kizárhatók.
  • Futtatás távoli gépen
"A" gépen tárolt szkript "B" gépen futtatása. A "WshController" objektum használatával lehet a hálózat egy távoli gépén egy új folyamatot létrehozva futtatni egy helyi szkriptet. Az objektum nem rendelkezik tulajdonságokkal és metódust is csak egyet ismer, a többiről már a WSH gondoskodik. Például:
Set Proba = CreateObject("WshController")
Set Script = Proba.CreateScript(scriptName, RemoteMachine)
Script.Execute
A "scriptName" paraméter a szkript nevét, elérési útját és az esetleges indítási paramétereit tárolja. A "RemoteMachine", pedig a távoli gép neve, relatív elérési úttal.
  • Távoli gépen futó szkript felügyelete
A távoli futtatás nem merül ki a szkript elindításában, a "WSHRemote" objektumon keresztül a további felügyelete is megvalósítható. A "Status" tulajdonságon keresztül megtudjuk, hogy még fut-e vagy már befejeződött. Az "Error" tulajdonság a keletkezett hibákat tárolja. A "Terminate" metódussal megszakítható a végrehajtás, stb.
  • Argumentum kezelés
Szkriptek után megadhatók parancssori kapcsolók, amelyek kategóriájuknak megfelelően kerülnek feldolgozásra a "WSHArguments" objektummal.
  • Munkakönyvtárak
A szkripten keresztül a felhasználó hozzáférhet az aktuális munkakönyvtárhoz és a szkript által megadott lehetőségekkel módosításokat hajthat végre.
  • Súgó használat
Ha a felhasználó beírja a "szkriptnév /?" súgókérési műveletet, egy egyszerű metódus alkalmazásával megjeleníthető számára a szükséges információ. Nincs szükség argumentum feldolgozásra és egyéb programozási fogásra.

Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2002 évkönyv 268. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |