Power Shell

 ( medve125 | 2006. december 6., szerda - 22:28 )

Nem tudom van-e olyan elvetemült állat mint én, de elkezdtem a power shellel foglalkozni....Eddig egész bizalomgerjesztőek az eredmények...:D De sehol nem találtam leírást hogyan tudok benne szkriptet készíteni...Tudom *.ps1 fájl elvileg szkriptnek számít de nálam nem futtatja az ien kiterjesztéseket...:( Köszönöm a válaszokat!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Powershell?
Ha nem csal az emlékezetem,akkor az csak Vistán fut,asszem szerves része majd a Longhornak lesz,ami a szerveres winfos következő kiadása...
Nem tudom mit tudhat,csak egy képet láttam róla,ahol pipe-os megoldás volt, meg egy grep-hez hasonló okosság!
Nem rossz dolog,de sztem elkéstem kb 10-15 évvel...Asszem azóta van kb. linux bár unix része már jóval korábban tartalmazta tudomásom szerint...

keywords: buta, fud, troll

geez

Kezdjük azzal, hogy a dolog pontosan fordítva van mint ahogy mondtad, pont Vistára nincs még végleges bináris (RC2 1 kiadásra van, de azt már senki se használja, mikó itt a RTM), XP-re és 2k3-ra már van.
Aztán: elképzelhető ugyan, hogy benne lesz a Longhorn-ba és sokan örülnének is neki, azonban a most debütáló Exchange 2007-nek már szerves része.
A PowerShell azért nagyon nagy előrelépés a shellek közt, mert nem stringeket dobá, hanem komplett objektumokat. Tehát egy egyszerü dir parancs kimenetéből olyan tulajdonságokra is szűrhetek, ami a default nézetben nem is láccik, pl ownerre is akár, vagy bármi másra. A scriptbe elmenthetsz egy változóba egy komplett authentikációs tokent is, és így csak egyszer kell auth-ot kérned a usertől, utána meg bármit csinálhacc

A topicindítónak: Asszem át kell állítani egy registry értéket, mert default csak a digitálisan aláírt scriptek futhatnak. Megkeresem majd hogyan kell...

A PowerShell azért nagyon nagy előrelépés a shellek közt, mert nem stringeket dobá, hanem komplett objektumokat. Tehát egy egyszerü dir parancs kimenetéből olyan tulajdonságokra is szűrhetek, ami a default nézetben nem is láccik, pl ownerre is akár, vagy bármi másra. A scriptbe elmenthetsz egy változóba egy komplett authentikációs tokent is, és így csak egyszer kell auth-ot kérned a usertől, utána meg bármit csinálhacc

Hát ezek tényleg nagy előrelépések... :)

pl.
cat hang.pcm > /dev/dsp0

Ennyit a stringekről... :)

--
maszili

Csak beírom, pedig nem akartam offolni(?):

Nagyon is jó dolog az az objektum: herótom van attól, hogy bash-ban minden változót pakolhatok "" közé, nehogy a szóközök és egyéb speciális karakterek gondot okozzanak. Nem is beszélve mondjuk egy "l00z4; rm -rf /" nevű fájlról.

cat hang.pcm > /dev/dsp0

Ez se rossz, de talán tekints a naptárra :)

Ez se rossz, de talán tekints a naptárra :)

Ott jobb példák vannak? :)

--
maszili

Nem, ott nem azt kell nézni :)

Engem pl. mindg zavart, hogy logfájlokat regexp-pel kell feldolgozni. Ezzel szemben itt:

get-eventlog system | where-object -filterscript {$_.entrytype -eq "error"} | foreach -process {add-content aaa.txt $_.Message}

A jence linkelte oldalról van.

A használhatóságát meg majd az dönti el, hogy ezek az új funkciók mennyire állnak kézre a rendszergazdának.

Hát nekem ez szimpatikusabb... :)

sed -n "REGEXP :)" /var/log/messages > aaa.txt

--
maszili

Jézusom! Az ilyenektől van mindig hasmenésem.

cat hang.pcm > /dev/dsp0

Rossz példa, mivel itt egy bitfolyamot irányítasz át egy device file-ban, amit a sound driver különösebb értelmezés nélkül továbbít a hangkeltő eszközre. Azért ez minőségben nem sokban különbözik egy karaktes kimenet átpasszolásától.

A unix-style átirányításnál a forrás-t generáló program csak olyan adatot tud átadni a fogadónak, amit ő maga valamilyen szinten fel tudott dolgozni, addig egy objektumot olyan forrás is továbbadhat, amely ennek az objektumnak csak egy kisebb részével tud mit kezdeni. Ettől a fogadó még értelmezheti az objektum olyan részét is, amit a forrás nem értett. ( van ennek értelme? vagy dolgozzak még rajta? :-D )

Ave, Saabi.

Rossz példa, mivel itt egy bitfolyamot irányítasz át egy device file-ban

String? Nem. Akkor megcáfoltam azt a tévképzetet hogy stringek dobálásáról van szó.

A unix-style átirányításnál a forrás-t generáló program csak olyan adatot tud átadni a fogadónak, amit ő maga valamilyen szinten fel tudott dolgozni

Miért is?

addig egy objektumot olyan forrás is továbbadhat, amely ennek az objektumnak csak egy kisebb részével tud mit kezdeni.

Ebben megint nem látok semilyen különleges dolgot...

Ettől a fogadó még értelmezheti az objektum olyan részét is, amit a forrás nem értett.

Ez sem újdonság.

van ennek értelme? vagy dolgozzak még rajta? :-D

Én ebből nem értettem meg hogy mitől is rosszabb a UNIX féle megoldás.

--
maszili

Én ebből nem értettem meg hogy mitől is rosszabb a UNIX féle megoldás.

Miért, állított ilyet valaki?
Én csak azt állítom, a PowerShell valami olyat csinál, amire eddig még nem láttam példát és ami gyökeresen más, mint amit a *nix-ek alatt megszokhattunk. Hogy ez jó vagy sem, szubjektív kérdés. Kíváncsi vagyok, mikor jelenik meg a PowerShell .GNU vagy MONO - vagy hogy a fenébe hívják most - változata.

> Rossz példa, mivel itt egy bitfolyamot irányítasz át egy device file-ban
String? Nem. Akkor megcáfoltam azt a tévképzetet hogy stringek dobálásáról van szó.

Ja, ha betonkodni akarsz, akkor valóban nem string. Szinte objektum.

> A unix-style átirányításnál a forrás-t generáló program csak olyan adatot tud átadni a fogadónak, amit ő maga valamilyen szinten fel tudott dolgozni
Miért is?

Mert annál többet nem kapsz, mint amit a forrás adott. Egy get-member nem feltétlen képes egy get-service által adott minden info-t feldolgozni, de ha továbbadja, akkor a következő újra az egész obektumot kezelheti. Ha egy *nix-os láncban valamely középen lévő program szűkít az adatok mennyiségén, akkor a rákövetkezők már nem kapják meg az elveszett részt.

Ave, Saabi.

Hja, de azert tegyuk hozza, hogy egyreszt 30 - 35 e'ves lemarada'sban van ez az egesz, masreszt, akinek nem tetszik a bash valtozokezelesenek egyszeru"se'ge, az nyugodtan hasznalhat egy tonna, $(cat /etc/shells), szoval egy joadag alternativa't. Pl zsh (lasd: `man zshexpn`).

Ha meg relative jol specifikalja'k ezt, akkor csak ido" kerdese, hogy legyen egy olyan, hogy /bin/pwsh...

Amúgy én jelenleg még inkább Bash szkript párti vagyok de már kezdenek derengeni a dolgok...:D Nem tűnik rossznak ez a Power Shell....de még van mit fejleszteni vele kapcsolatban....
Amúgy:
"Set-ExecutionPolicy Unrestricted" és máris fut a szkript.....:D Nagyon jó...mennyit kellet ezért szenvednem....:D

>> Unrestricted és máris fut a szkript...
mindemellett azért nem lenne felesleges végigfutni egy get-help about_signing-et ;)

Ott találtam....:D De nem fogok csak úgy szkripteket futtatni szal nekem megfelel az unrestricted...:D

Idézet:
"Set-ExecutionPolicy Unrestricted" és máris fut a szkript.....:D Nagyon jó...mennyit kellet ezért szenvednem....:D

Sry, nem volt időm ránézni.

A cat hang.pcm > /dev/dsp egy érdekes példa (hmm... nincs randa nő csak érdekes arcú... :), mindamellett tényleg arról van szó, hogy nem tudsz több adatot feldolgozni, mint ami a kimenetbe volt. Arról nem beszélve, hogy már eleve szét van tulajdonságokba pakolva, nem kell végigszopni a regexpet, ahol ha egy pont rossz helyre megy, más tulajdonságokat kapsz. Persze a szöveges logfile-k parsolását nem úszod meg. Ha meg nagyon kell, össze lehet hozni a regexpet is alatta, nem is nehéz... de csúnya leszek, és nem mondom el hogy hogyan. RTFM.

A cat hang.pcm > /dev/dsp egy érdekes példa

Akkor itt egy másik:

mkisofs $IsoOpt /home/maszili/cdre | cdrecord $RecOpt -tsize="${Size}s" -

Itt se nagyon string-dobálásról van szó.

mindamellett tényleg arról van szó, hogy nem tudsz több adatot feldolgozni, mint ami a kimenetbe volt.

De nem is akarok. Pont annyi adat jöjjön át amire szükségem van.

Arról nem beszélve, hogy már eleve szét van tulajdonságokba pakolva, nem kell végigszopni a regexpet, ahol ha egy pont rossz helyre megy, más tulajdonságokat kapsz.

Szerintem a reguláris kifejezések olyan eszközök az informatikában mint pl. az egyenletrendezés tudománya a matematikában. Alapvető dolog. Aki nem ismeri / használja az egy nagyon hatékony eszköztől esik el.

Lehet hogy elsőre nehéz elsajátítani de gyorsan, egyszerűen lehet mintaillesztéseket csinálni. Ami a legfontosabb, hogy teljes szabadségot ad, mert pont az a jó benne hogy nincsen előre elkészítve az adat, hanem én (aki tudja hogy mit akar) azt veszek ki belőle amit akarok. Teljesen szabadon, nem csak a meglévő lehetőségekből választva!

--
maszili

te tenyleg ennyire ostoba vagy, vagy csak rigidus helyere palyazol?

te tenyleg ennyire ostoba vagy, vagy csak rigidus helyere palyazol?

Köszönöm, hogy rávilágítottál az ostobaságomra. Most már tudom hogy ki is vagyok.
Rigidust nem ismerem és nem pályázok senkinek a helyére.

--
maszili

zsirfeka

e'n ke'rek elne'ze'st.

"mkisofs $IsoOpt /home/maszili/cdre | cdrecord $RecOpt -tsize="${Size}s" -"

Nekem ez is egy sima bytefolyamnak tünik... (Legalábbis a fájlok beolvasása után.)

Azt hiszem igazából még nem tünt fel a népnek, hogy itt megint az OO vs !OO vita zajlik. Csak épp valami olyanba akarnak OO programozást vinni, amibe eddig nem mertek. Szerintem nem olyan rossz ötlet ez, de persze aki nem szereti az majd nem használja. Nem kötelezö.

A regexp-töl meg nem kell elbúcsúzni annak sem aki használni akarja, mert String mezökre majd lehet továbbra is használni. Söt kelleni is fog...

Igazából én már rég szeretnék a csh mellé egy jsh-t, amit Java-ban programozhatnék, az valami hasonló lenne ehhez. (Mondjuk többnyire bash-t használok, de egy jsh jó lenne.) Persze nem Winre- hanem elsödlegesen Linuxra álmodtam én a dolgot, dehát mit tegyek, most megelöztek minket. Talán lassan a keményfejü Unixos közösség is belátja, hogy az OO programozás nem az ördögtöl való dolog.
(Van aki már rájött, lásd Java, C++ és Mono programozók...)

Nah mára ennyi.

Üdv: Tamaas

Bár már reagáltak helettem, pár dolgot azért mondanék.

Én nem azt mondtam, hogy fujj regex, éljen OO, hanem azt, hogy nagyban megkönnyiti a dolgokat. Továbbra is van lehetőség a regex használatára, aki azt szereti, hajrá, ne fogja vissza magát, sőt! Még azokban az utált propertyken is lehet mintailesztéseket csinálni! A lehetőség adott. Lécci, legalább a doskiját fusd át annak amit utálsz, hogy tudd miért...

A többiben csatlakozok az előttem szólókhoz.