Professional Documents
Culture Documents
PowerShell-példatár
2008
Szalay Márton: PowerShell-példatár
ISBN 978-963-...
Minden jog fenntartva. Jelen könyvet, illetve annak részeit a kiadó előze-
tes írásbeli hozzájárulása nélkül tilos reprodukálni, adatrögzítő rendszer-
ben tárolni, bármilyen formában vagy eszközzel elektronikus úton vagy
más módon közölni.
Előszó ..................................................................................................................... 7
1. fejezet: Bevezetés ............................................................................................. 9
1.1. Új parancssor: a PowerShell ......................................................................... 9
1.2. Bevezetés az objektumorientált programozásba ...................................... 15
Osztályok és példányok ................................................................................. 17
Egységbezárás ................................................................................................. 18
Öröklődés ......................................................................................................... 18
Többalakúság ................................................................................................... 19
Osztályok, objektumok és metódusok ......................................................... 19
1.3. Ismerkedés a .NET keretrendszerrel ......................................................... 20
Mi a .NET? ....................................................................................................... 20
A .NET legfontosabb szolgáltatásai .............................................................. 21
A .NET-alapú programozás ........................................................................... 22
A .NET-objektumok ........................................................................................ 23
2. fejezet: Ismerkedés a PowerShellel ............................................................ 27
2.1. Telepítés ........................................................................................................ 27
2.2. Parancsok ...................................................................................................... 29
2.3. A legfontosabb parancselemek .................................................................. 31
2.4. Változók, gyűjtemények, operátorok ........................................................ 34
A változók ........................................................................................................ 34
Karakterláncok ................................................................................................ 36
Gyűjtemények ................................................................................................. 38
Műveletek, operátorok ................................................................................... 40
A reguláris kifejezések ................................................................................... 42
A feltételvizsgálat: az if operátor .................................................................. 44
2.5. A PowerShell mint számológép ................................................................. 45
2.6. Ciklusok ........................................................................................................ 48
2.7. Objektumok kezelése ................................................................................... 51
2.8. A kimenet formázása ................................................................................... 59
A Format parancselemek ............................................................................... 60
Az Out parancselemek ................................................................................... 61
Az Export parancselemek .............................................................................. 62
Formázás az -f operátorral ............................................................................. 63
Tartalomjegyzék
6
Előszó
Kis Balázs
felelős szerkesztő
8
ELSŐ FEJEZET
Bevezetés
A rendszerhéj
10
1. fejezet: Bevezetés
PS C:\Users\MartonSz> cd \
PS C:\> dir
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
PS C:\> md PS-konyv
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
PS C:\> dir
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
PS C:\>
11
1.1. Új parancssor: a PowerShell
12
1. fejezet: Bevezetés
[martonsz@extra ~/ps]$ ls
dump.txt FILES index.html installer.sh vid1resp.txt
13
1.1. Új parancssor: a PowerShell
A PowerShell egyszerűbb,
mint a Visual Basic-szkriptek
Wscript.StdOut.WriteLine("A " & ext & " fájlok mérete " & _
size & " bájt.")
14
1. fejezet: Bevezetés
15
1.2. Bevezetés az objektumorientált programozásba
16
1. fejezet: Bevezetés
Osztályok és példányok
17
1.2. Bevezetés az objektumorientált programozásba
Egységbezárás
Öröklődés
18
1. fejezet: Bevezetés
Többalakúság
19
1.3. Ismerkedés a .NET keretrendszerrel
Mi a .NET?
20
1. fejezet: Bevezetés
i n f r a s t r u k t ú r a k ó d o n . Az infrastruktúrakód a programok
azon része, amely a hálózati kommunikáció, az adat- és adatbázis-
kezelés és a grafikus felhasználói felület alapelemeit valósítja meg,
de nem része, csupán alapvető, általános építőeleme a konkrét al-
kalmazáslogikának. Ha adatokat akarunk átküldeni a hálózaton, és
mondjuk csak a C++ nyelvet és a Win32-rendszert használjuk, a
konkrét adatküldéshez akár több száz programsort is le kell írnunk.
A .NET ezt az infrastruktúrakódot kínálja készen, jelentősen lerö-
vidítve a programok kifejlesztéséhez szükséges időt és csökkentve a
programfejlesztés költségét. A .NET-rendszerben egy XML-fájl beol-
vasásához, elemzéséhez és objektumként való eléréséhez egyetlen
programsort kell írni. Ha ezt az objektumot át kell küldenünk a há-
lózaton, talán már három programsort is le kell írnunk.
A keretrendszer a Windows Server 2003 óta szerves része a Win-
dowsoknak, illetve külön összetevőként korábbi operációs rendsze-
rekre letölthető, sőt bizonyos korábbi változatai akár Windows 98
alatt is futnak.
21
1.3. Ismerkedés a .NET keretrendszerrel
A .NET-alapú programozás
22
1. fejezet: Bevezetés
C# C#-fordító
Visual Köztes
VB-fordító nyelvű kód CLR Natív kód
Basic.NET
(CIL-kód)
Egyéb
Egyéb fordító
.NET-nyelv
A .NET-objektumok
23
1.3. Ismerkedés a .NET keretrendszerrel
24
1. fejezet: Bevezetés
25
MÁSODIK FEJEZET
Ismerkedés a PowerShellel
2.1. Telepítés
Ha a PowerShellt asztali számítógépen futtatnánk, a Windows XP-re
vagy annál újabb Windowsra van szükségünk. A Windows XP-hez
legalább a 2. szervizcsomag kell. Kiszolgálón a Windows Server 2003
első kiadására vagy annál újabb Windows-kiszolgálóra van szükség.
A Windows Server 2003 első kiadásán az 1. szervizcsomagot is tele-
píteni kell. A PowerShell emellett igényli a .NET keretrendszer 2.0
változatát.
A Windows Vista beépítve tartalmazza a .NET-keretrendszer 2.0
változatát (ehhez csak a frisssítéseket kell letölteni). A Microsoft leg-
újabb kiszolgálóoldali rendszere pedig, a Windows Server 2008, be-
építve tartalmazza a .NET-keretrendszert és a PowerShellt is, ott te-
hát semmilyen telepítésre nincs szükség (a fontos frissítéseket leszá-
mítva).
A .NET-keretrendszert és magát a PowerShellt is a Microsoft hon-
lapjáról tölthetjük le. 2008 augusztusában a .NET keretrendszer elér-
hetősége:
http://msdn.microsoft.com/en-us/netframework/aa731542.aspx
http://www.microsoft.com/windowsserver2003/technologies/
management/powershell/download.mspx
2.1. Telepítés
28
2. fejezet: Ismerkedés a PowerShellel
2.2. Parancsok
Eddig, ha könyvtárlistát kértünk, azt a dir paranccsal tehettük meg;
ha az Active Directory címtárban kerestünk egy objektumot, a
dsquery parancs segített megtalálni; a szolgáltatások beállításait az sc
programmal módosíthattuk; feladatok leállítására pedig a taskkill pa-
rancsot használtuk. Látható, hogy semmilyen összefüggés nincs a
programok és parancsok nevei között.
A könnyebb megtanulás végett a PowerShell-parancsokat, ame-
lyeket p a r a n c s e l e m n e k (commandlet, röviden cmdlet) neve-
zünk, egység névkonvencióval hozták létre. A gyakorlatban ez azt je-
lenti, hogy minden parancselem egy angol igéből és egy angol fő-
névből áll, amelyeket kötőjel választ el egymástól, így: ige-főnév.
Például egy szolgáltatást a Stop-Service, egy folyamatot pedig a Stop-
Process parancselemmel állíthatunk le. A Windows-világ többi ré-
széhez hasonlóan a rendszer a parancselemek esetében sem tesz kü-
lönbséget a kis- és a nagybetűk között; ezt az írásmódot a jobb ol-
vashatóság kedvéért szokás alkalmazni.
29
2.2. Parancsok
Paraméter Leírás
Verbose Részletes leírást ad a parancs által elvégzett műveletről.
Debug A parancselem működéséről hibakeresési céllal nyomkövetési
(debugging) információkat ad.
30
2. fejezet: Ismerkedés a PowerShellel
Paraméter Leírás
ErrorAction Megadhatjuk, hogy viselkedjen a parancselem hiba esetén. A lehet-
séges beállítások: Continue (ez az alamértelmezés: folytatás, tájé-
koztat a hiba tényéről és folytatja a futást), Stop (megállás, hiba
esetén a parancselem befejezi a futást), SilentlyContinue (csend-
ben folytatja a működést, nem írja ki, hogy hiba történt, és foly-
tatja a futást), Inquire (megkérdezi, hogy kívánjuk-e folytatni a
műveletet).
ErrorVariable Az argumentum után egy változó nevét adhatjuk meg (dollárjel nél-
kül), amelybe a parancselem feljegyzi a futása során felmerülő hi-
bákat.
OutVariable A parancselem a kimenetét az argumentum után megadott változó-
ban is elhelyezi, és a csőben is továbbküldi. (A változó nevét itt is
dollárjel nélkül kell megadni.)
OutBuffer Megadhatjuk, hogy hány objektumot szeretnénk a pufferben tárolni
a csőben lévő következő parancs hívása előtt.
WhatIf Kiírja, hogy mi történne, ha a parancsot lefuttatnánk, anélkül, hogy
bármit módosítana. (Csak azokkal a parancselemekkel használható,
amelyek a rendszeren módosításokat végeznek.)
Confirm A módosítások előtt megerősítést kér. (Csak azokkal a parancsele-
mekkel használható, amelyek a rendszeren módosításokat végez-
nek.)
31
2.3. A legfontosabb parancselemek
32
2. fejezet: Ismerkedés a PowerShellel
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
33
2.4. Változók, gyűjtemények, operátorok
A változók
34
2. fejezet: Ismerkedés a PowerShellel
2.3. példa: Időértékek kivonása: két időpont között eltelt idő kiszámítása
PS C:\> $b=Get-Date
PS C:\> $b-$a
Days : 0
Hours : 0
Minutes : 3
Seconds : 16
Milliseconds : 229
Ticks : 1962298842
TotalDays : 0,00227117921527778
TotalHours : 0,0545083011666667
TotalMinutes : 3,27049807
TotalSeconds : 196,2298842
TotalMilliseconds : 196229,8842
35
2.4. Változók, gyűjtemények, operátorok
Karakterláncok
TypeName: System.String
36
2. fejezet: Ismerkedés a PowerShellel
37
2.4. Változók, gyűjtemények, operátorok
Gyűjtemények
38
2. fejezet: Ismerkedés a PowerShellel
Directory: Microsoft.PowerShell.Core\FileSystem::C:\Users\MartonSz
39
2.4. Változók, gyűjtemények, operátorok
Műveletek, operátorok
40
2. fejezet: Ismerkedés a PowerShellel
Ugyanez karakterláncokkal:
41
2.4. Változók, gyűjtemények, operátorok
A reguláris kifejezések
42
2. fejezet: Ismerkedés a PowerShellel
43
2.4. Változók, gyűjtemények, operátorok
A feltételvizsgálat: az if operátor
44
2. fejezet: Ismerkedés a PowerShellel
45
2.5. A PowerShell mint számológép
46
2. fejezet: Ismerkedés a PowerShellel
Próbáljuk ki:
47
2.6. Ciklusok
2.6. Ciklusok
Számos esetben szükség lehet arra, hogy egy feladatot egymás után
többször elvégezzünk, ám nem túl hatékony, ha ugyanazt a paran-
csot több százszor leírjuk egymás után, esetleg kisebb módosítással.
Inkább bízzuk ezt is a számítógépre! Ha már az ismétlődő műveletek
elindítása előtt tudjuk, hogy hányszor kívánjuk lefuttatni az adott
parancsot, használhatjuk a for utasítást:
Nézzük meg, hogy mi történt! A for utasítás után sima zárójelben há-
rom dolgot kell megadni, ezeket pedig pontosvesszővel kell elvá-
lasztani: 5
1. Választani kell egy változót, és annak meg kell adni a kezdeti ér-
tékét. Ez lesz a ciklus kezdőértéke. Most az i változónak adjuk az
1 értéket.
2. Meg kell adni egy feltételt, ameddig a parancsot ismételni akar-
juk. Itt addig ismétlünk, amíg az i értéke kisebb, vagy egyenlő há-
rommal.
3. Utasítást kell adni, mi történjen az egyes ismétlések után. Most
eggyel növelni kell az i változó értékét. Ha ezt nem tennénk meg,
a ciklus a végtelenségig futna, vagyis addig, amíg i értéke nem
nagyobb, mint 3, de mivel i értékét nem változtatjuk, a ciklus so-
ha sem érne véget.
48
2. fejezet: Ismerkedés a PowerShellel
49
2.6. Ciklusok
2.26. példa: Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gépel
PS C:\> $a=-1
PS C:\> while ($a -ne 0) { $a=Read-Host }
2.27. példa: Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gépel;
hátul tesztelő while ciklussal
PS C:\> do { $a=Read-Host } while ($a -ne 0)
1
2
3
0
50
2. fejezet: Ismerkedés a PowerShellel
Directory: Microsoft.PowerShell.Core\FileSystem::C:\Windows
51
2.7. Objektumok kezelése
52
2. fejezet: Ismerkedés a PowerShellel
53
2.7. Objektumok kezelése
54
2. fejezet: Ismerkedés a PowerShellel
Directory: Microsoft.PowerShell.Core\FileSystem::C:\Users\MartonSz
55
2.7. Objektumok kezelése
2.36. példa: A könyvtárlista kiíratása az utolsó módosítás ideje szerinti fordított idő-
rendben
PS C:\> Get-ChildItem | Sort-Object LastWriteTime -Descending
Directory: Microsoft.PowerShell.Core\FileSystem::C:\Users\MartonSz
Directory: Microsoft.PowerShell.Core\FileSystem::C:\Windows
56
2. fejezet: Ismerkedés a PowerShellel
Directory: Microsoft.PowerShell.Core\FileSystem::C:\Windows
57
2.7. Objektumok kezelése
58
2. fejezet: Ismerkedés a PowerShellel
InputObject SideIndicator
----------- -------------
System.Diagnostics.Process (notepad) =>
Nem meglepő, hogy a két lista között egyedül a notepad nevű folya-
mat a különbség. Ez az információ az InputObject mezőben található,
azt pedig, hogy melyik listában van benne, a SideIndicator mutatja.
Ebben az esetben egy jobbra mutató nyilat látunk, vagyis a Compare-
Object paraméterei között másodikként megadott gyűjteményben
van benne a notepad.exe.
Megjegyezzük, hogy a Where-Object, ForEach-Object, Select-
Object és Group-Object parancselemeket az -Object utótag nélkül is
használhatjuk, mivel alapértelmezés szerint léteznek hozzájuk a
where, foreach, select és group álnevek.
59
2.8. A kimenet formázása
A Format parancselemek
Name CreationTime
---- ------------
Contacts 2007.09.14. 12:50:44
Desktop 2007.09.14. 12:50:24
Documents 2007.11.07. 17:02:56
Downloads 2007.09.14. 12:50:24
Favorites 2007.09.14. 12:50:24
Links 2007.09.14. 12:50:24
Pictures 2007.09.14. 12:50:24
Saved Games 2007.09.14. 12:50:24
Searches 2007.09.14. 12:50:53
Tracing 2007.09.14. 14:11:52
Videos 2007.09.14. 12:50:24
60
2. fejezet: Ismerkedés a PowerShellel
Directory: Microsoft.PowerShell.Core\FileSystem::C:\Users\MartonSz
Name : Contacts
CreationTime : 2007.09.14. 12:50:44
LastWriteTime : 2007.11.13. 22:23:27
LastAccessTime : 2007.11.13. 22:23:27
Name : Desktop
CreationTime : 2007.09.14. 12:50:24
LastWriteTime : 2007.12.06. 12:35:12
LastAccessTime : 2007.12.06. 12:35:12
...
Az Out parancselemek
61
2.8. A kimenet formázása
Az Export parancselemek
62
2. fejezet: Ismerkedés a PowerShellel
Formázás az -f operátorral
63
2.8. A kimenet formázása
64
2. fejezet: Ismerkedés a PowerShellel
Pénznem:
2.52. példa: Számok kiíratása pénzösszegként, a pénznem megjelölésével
PS C:\> "{1,10:C}" -f 43.53,12.34
12,34 Ft
Vegyük észre, hogy itt szándékosan két értéket adtunk meg az ope-
rátor után, és ebből csak a másodikat jelenítettük meg! Ellenben, ha a
"{2,10:C}" -f 43.53,12.34 parancsot adjuk ki, az hibát jelezne, mivel
az argumentumlistában csak két érték van.
Az értékek pénznemként való formázásához a PowerShell az
operációs rendszer területi beállításait veszi figyelembe. Ha a vezér-
lőpulton átállítjuk a pénznemet, a PowerShell is ennek megfelelően
fogja formázni a számot:
2.53. példa: Számok kiíratása pénzösszegként, a pénznem megjelölésével, a területi
beállítás módosítása után
PS C:\> "{1,10:c}" -f 43.53,12.34
$12,34
Százalék:
2.54. példa: Számok kiíratása százalékos értékként
PS C:\> "{0:p}" -f 0.875, 0.790
87.50 %
65
2.8. A kimenet formázása
Formázó Magyarázat
yy Az évszám utolsó két jegye (pl. 2007-ben 07)
yyyy Évszám négy számjeggyel
MM Hónap, számjegyekkel
MMM Hónap, rövidítve
MMMM Hónap, teljesen, betűkkel kiírva
dd Nap, számjegyekkel
ddd A hét napja, rövidítve
dddd A hét napja, teljesen, betűkkel kiírva
hh Óra (12 órás formátumban)
HH Óra (24 órás formátumban)
mm Perc
ss Másodperc
tt Napszak jelölése (területi beállítástól függően de./du., AM/PM stb.)
66
2. fejezet: Ismerkedés a PowerShellel
67
HARMADIK FEJEZET
A rendszerfelügyelet alapjai
a PowerShellben
3.1. A függvények
A PowerShellben a gyakran ismétlődő vagy összetett feladatokból
függvényeket alakíthatunk ki. Ez egyszerűsíti a szkripteket, és meg-
könnyíti a a rendszer karbantartását.
3.1. példa: Függvény létrehozása és érték visszaadása
function returnValue($ertek) { return $ertek }
Próbáljuk is ki:
3.3. példa: A szóközöket eltávolító függvény kipróbálása
PS C:\> removeSpaces("Ez itt a szöveg")
Ezittaszöveg
70
3. fejezet: A rendszerfelügyelet alapjai a PowerShellben
71
3.2. Folyamatok kezelése
72
3. fejezet: A rendszerfelügyelet alapjai a PowerShellben
Tulajdonság Leírás
HasExited Boole típusú (logikai: igaz-hamis); igaz (true) az értéke, ha a
folyamat már befejezte a futást és kilépett
Id A folyamat azonosítója
PagedMemorySize A folyamat által lefoglalt olyan memóriaterületek méretének
összege, melyek igény esetén a memóriából kilapozhatók
(bájtban)
ProcessName A folyamat neve
Responding Boole (logikai) típusú; hamis (false) az értéke, ha a folyamat
nem válaszol
StartTime DateTime típusú; a folyamat elindításának időpontja
TotalProcessorTime TimeSpan típusú; a folyamat indítása óta eltelt, futással töl-
tött idő (vagyis az az időtartam, amit a processzor az adott
folyamat feldolgozásával eltöltött — ebben nincs benne a vá-
rakozással eltöltött idő)
WorkingSet A folyamat fizikai memóriahasználata (bájtban)
73
3.2. Folyamatok kezelése
74
3. fejezet: A rendszerfelügyelet alapjai a PowerShellben
PS C:\> $sokmemoria.HasExited
False
PS C:\> $sokmemoria | Stop-Process
PS C:\> $sokmemoria.HasExited
True
75
3.3. Dátum és idő
PS C:\> $a.AddDays(1)
Itt azért kellett a parancssort zárójelbe írni, mert így érhetjük el, hogy
a PowerShell először a Get-Date parancsot hajtsa végre, és a vissza-
adott DateTime típusú objektum AddDays metódusát hívja meg. El-
76
3. fejezet: A rendszerfelügyelet alapjai a PowerShellben
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
77
3.3. Dátum és idő
(Temp) mappában, vagy egyéb olyan helyen, ahol ezzel nem okozha-
tunk kárt.
Ha két DateTime típusú objektumot kivonunk egymásból, egy
TimeSpan (időtartam) típusú objektumot kapunk eredményül, amely-
nek szintén érdekes tulajdonságai vannak:
3.15. példa: Dátumok kivonása, időtartam kiszámítása
PS C:\> $a = Get-Date
PS C:\> $b = Get-Date "2008.01.01 0:00"
PS C:\> $a-$b
Days : 188
Hours : 22
Minutes : 33
Seconds : 7
Milliseconds : 888
Ticks : 163243878881532
TotalDays : 188.939674631403
TotalHours : 4534.55219115367
TotalMinutes : 272073.13146922
TotalSeconds : 16324387.8881532
TotalMilliseconds : 16324387888.1532
78
3. fejezet: A rendszerfelügyelet alapjai a PowerShellben
3.4. Az eseménynapló
A Windows az eseménynaplón keresztül kommunikál a rendszer-
gazdával, ide írja a fontos és kevésbé fontos rendszereseményeket,
amelyeket három fő tárolóban helyez el. Az Alkalmazás (Application)
naplóban a különböző (általunk, illetve a Windowszal együtt telepí-
tett) programok üzeneteit láthatjuk. A Biztonság (Security) napló a
rendszer biztonságát érintő eseményeket (bejelentkezés, jogosultsá-
gok módosítása stb.) rögzíti. Ha a fájlok és objektumok naplózását
engedélyezzük, annak eseményeit is itt láthatjuk. A Rendszernapló
(System) pedig az operációs rendszer, illetve a hardver működésével
kapcsolatos eseményeket tartalmazza. Az egyes naplók rengeteg,
akár több százezer eseményt tartalmazhatnak, így hasznosnak bizo-
nyul, ha tudunk bennük keresni.
Ebben a Get-EventLog parancselem nyújt segítséget, amelynek pa-
ramétereként meg kell adnunk, hogy mely napló bejegyzéseire van
szükségünk. A Rendszernapló összes eseményét például a Get-
EventLog System parancs jeleníti meg. Ez nem segít rajtunk, mert ol-
dalakon keresztül sorolja a lényegtelen eseményeket. Ha megadjuk a
–Newest paramétert, ez történik:
79
3.4. Az eseménynapló
80
3. fejezet: A rendszerfelügyelet alapjai a PowerShellben
81
3.5. Szkriptek futtatása fájlból
tésekor nagy port kavart az hír, hogy a még meg sem jelent parancs-
héjra megírták az első férget.
Ez azt jelentette, hogy ha a felhasználó megkapta a rosszindulatú
szkriptet, és szándékosan elindította, akkor az fájlmásolási művele-
tekkel „megfertőzte” a gépet. Ezt túlzás féregnek vagy vírusnak ne-
vezni, mivel szándékos felhasználói beavatkozás szükséges a „fertő-
zéshez”, viszont a bulvárhír elterjedéséhez ennyi már elég volt.
Azóta a PowerShellbe több, biztonságot növelő megoldást is be-
építettek. Ezek közé tartozik az is, hogy ha egy PowerShell parancs-
sorba beírjuk egy .ps1 fájl nevét, az alapértelmezés nem indul el.
Futtatási házirend
Paraméter Leírás
Unrestricted Bármilyen szkript korlátozás nélkül futhat a rendszeren.
RemoteSigned Az internetről letöltött szkripteket el kell látni egy megbízható fél
által kiállított digitális aláírással; a helyi szkriptek korlátozás nélkül
futnak.
AllSigned Minden szkriptnek digitális aláírással kell rendelkeznie.
Restricted Semmilyen szkript vagy konfigurációs fájl nem futhat.
Default Az alapértelmezett beállítás a Restricted, akár ezt, akár a Default
beállítást adjuk meg, az eredmény ugyanaz.
82
3. fejezet: A rendszerfelügyelet alapjai a PowerShellben
Digitális aláírás
83
3.5. Szkriptek futtatása fájlból
Location : CurrentUser
StoreNames : {SmartCardRoot, UserDS, AuthRoot, CA...}
Location : LocalMachine
StoreNames : {SmartCardRoot, AuthRoot, CA, Trust...}
84
3. fejezet: A rendszerfelügyelet alapjai a PowerShellben
Directory: Microsoft.PowerShell.Security\Certificate::CurrentUser\My
Thumbprint Subject
---------- -------
AF86CC088BDC6E71F8BBA77D36676A9D949C704F CN=PowerShell User
91288B901CCDC00F043546D39767D513F85D0FB3 CN=HOME\MartonSz
Directory: C:\
SignerCertificate Status
Path
----------------- ------
85
3.5. Szkriptek futtatása fájlból
PS C:\> .\test.ps1
86
NEGYEDIK FEJEZET
Fájlkezelés
Parancselem Leírás
Get-Item Egy elem (pl. fájl vagy mappa) vagy tulajdonságainak lekérdezése
New-Item Új elem (fájl, mappa) létrehozása
Set-Item Egy elem értékének módosítása1
Remove-Item Egy vagy több elem eltávolítása (törlése)
Move-Item Egy elem áthelyezése
Rename-Item Elem átnevezése
Copy-Item Elemek másolása
Clear-Item Az elem tartalmának kiürítése1
Invoke-Item Elem meghívása – .doc kiterjesztésű fájlok meghívása például a
Word elindítását és a dokumentum megnyitását eredményezi
88
4. fejezet: Fájlkezelés
89
4.1. Fájlok és mappák
90
4. fejezet: Fájlkezelés
91
4.1. Fájlok és mappák
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
Nev,Szuletesnap
Bekre Pál,1956.04.23
Minden Áron,1961.08.15
Kalim Pál,1974.02.06
Feltét Elek,1963.10.14
92
4. fejezet: Fájlkezelés
Nev Szuletesnap
--- -----------
Bekre Pál 1956.04.23
Minden Áron 1961.08.15
Kalim Pál 1974.02.06
Feltét Elek 1963.10.14
TypeName: System.Management.Automation.PSCustomObject
Látható, hogy a .csv fájl első sora fejléc, vagyis a két oszlopnak a Nev
és a Szuletesnap neveket adtuk. Ezután e nevekkel hivatkozhatunk
az adott oszlopban található adatokra. Nézzük meg, hogy a Pál ke-
resztnevű emberek mikor születtek, avagy PowerShellül: soroljuk fel
a gyűjteményből azokat az elemeket, ahol a Nev tulajdonságban
megtalálható a „Pál” karakterlánc:
4.13. példa: Meghatározott nevű objektumok beolvasása CSV-fájlból
PS C:\> Import-Csv emberek.csv | Where-Object { $_.Nev -match
"Pál" }
Nev Szuletesnap
--- -----------
Bekre Pál 1956.04.23
Kalim Pál 1974.02.06
93
4.3. A fájlokhoz és mappákhoz tartozó engedélyek
94
4. fejezet: Fájlkezelés
95
4.3. A fájlokhoz és mappákhoz tartozó engedélyek
Név Leírás
AppendData Adat hozzáfűzése meglévő fájlhoz
ChangePermissions Biztonsági és naplózási szabályok módosítása
CreateDirectories Mappák létrehozása (mappában)
CreateFiles Fájlok létrehozása (mappában)
Delete Az adott objektum törlése
DeleteSubdirectoriesAndFiles Az adott mappán belül található fájlok és mappák tör-
lése
ExecuteFile Fájl futtatása
FullControl Teljes hozzáférés
ListDirectory Mappa tartalmának kilistázása
Modify Objektum módosítása
Read Objektum olvasása
ReadAndExecute Fájl olvasása és futtatása
ReadAttributes Fájlrendszerbeli attribútumok olvasása (archív, csak
olvasható, rejtett, rendszer)
ReadData Fájl vagy mappa tartalmának olvasása
ReadExtendedAttributes Kiterjesztett attribútumok (metaadatok) olvasása (pl.
a dokumentum szerzője, évszám stb.)
ReadPermissions Biztonsági és naplózási szabályok elolvasása
TakeOwnership Az objektum saját tulajdonba vétele
Traverse Mappa bejárása
Write Objektum írása
WriteAttributes Az objektum fájlrendszerbeli attribútumainak módosí-
tása
WriteData Fájl vagy mappa tartalmának módosítása
WriteExtendedAttributes Kiterjesztett attribútumok (metaadatok) módosítása
96
ÖTÖDIK FEJEZET
A beállításjegyzék kezelése
98
5. fejezet: A beállításjegyzék kezelése
Hive: Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software
99
5.3. Értékek módosítása
Név Leírás
Clear-ItemProperty Bejegyzés értékének törlése (a parancselem meghagyja a be-
jegyzést)
Copy-ItemProperty Bejegyzés másolása
Get-ItemProperty Bejegyzés tulajdonságainak lekérdezése
Move-ItemProperty Bejegyzés átmozgatása másik kulcs alá
New-ItemProperty Új bejegyzés létrehozása
Remove-ItemProperty Bejegyzés eltávolítása
Rename-ItemProperty Bejegyzés átnevezése
Set-ItemProperty Meglévő bejegyzés értékének módosítása
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software\Test
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software
PSChildName : Test
PSDrive : HKCU
PSProvider : Microsoft.PowerShell.Core\Registry
alma : kukac
100
5. fejezet: A beállításjegyzék kezelése
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER
PSChildName : Software
PSDrive : HKCU
PSProvider : Microsoft.PowerShell.Core\Registry
alma : mag
101
5.4. Engedélyek módosítása a beállításjegyzékben
102
5. fejezet: A beállításjegyzék kezelése
Név Leírás
ChangePermissions Biztonsági és naplózási szabályok módosítása
CreateSubKey A kulcson belül további alkulcsok létrehozása
Delete Az adott objektum törlése
EnumerateSubKeys Az adott kulcson belül található objektumok kilistázása
ExecuteKey Megegyezik a ReadKey engedéllyel
FullControl Teljes hozzáférés
Notify Kulcs módosításáról értesítés kérésének engedélyezése
QueryValues A bejegyzések értékeinek lekérdezése
ReadKey Kulcs olvasása
ReadPermissions Engedélyek olvasása
103
5.4. Engedélyek módosítása a beállításjegyzékben
Név Leírás
SetValue Meglévő bejegyzések értékének módosítása, új bejegyzések
létrehozása
TakeOwnership Az objektum saját tulajdonba vétele
WriteKey Összetett engedély, jogot ad bejegyzések és értékek létre-
hozására, törlésére, módosítására, alkulcsok létrehozására
és törlésére, módosítási értesítés kérésére, alkulcsok
kilistázására, valamint a hozzáférési jogosultságok és napló-
zási szabályok olvasására.
104
HATODIK FEJEZET
Haladó rendszerfelügyelet a
PowerShellel
http://msdn2.microsoft.com/en-us/library/aa394572.aspx
DriveLetter : C:
Capacity : 78413557760
FreeSpace : 12300836864
DriveLetter : D:
Capacity : 1610608640
FreeSpace : 1240928256
106
6. fejezet: Haladó rendszerfelügyelet a PowerShellel
107
6.2. Az Active Directory kezelése
WMI-osztály Leírás
Win32_PhysicalMemory A számítógépben található fizikai memória tu-
lajdonságai (helye az aljzatban, az adatsín szé-
lessége, a memóriamodul mérete stb.)
Win32_Process A futó folyamatok tulajdonságai
Win32_Processor A processzor tulajdonságai (a gyorsítótár mére-
te, órajel, a processzor neve stb.)
Win32_Product A telepített programok adatai (a termék neve,
a telepítés időpontja, azonosítója stb.)
Win32_Service A Windows-szolgáltatások tulajdonságai (rövid
és hosszú név, elérési út, a szolgáltatást futtató
felhasználó neve stb.)
Win32_Volume A merevlemezeken levő kötetek adatai (hozzá-
rendelt betűjel, sorozatszám, teljes méret,
szabad terület stb.)
108
6. fejezet: Haladó rendszerfelügyelet a PowerShellel
109
6.2. Az Active Directory kezelése
110
6. fejezet: Haladó rendszerfelügyelet a PowerShellel
111
6.2. Az Active Directory kezelése
Mivel Teszt Elek (vagy Teszt Béla? vagy Teszt Etel?) még nem tagja a
Domain Users csoportnak, adjuk hozzá! Ezt úgy tehetjük meg, hogy
előhívjuk a Domain Users csoportnak megfelelő objektumot, majd
meghívjuk az Add metódusát:
6.7. példa: Active Directory-beli felhasználói fiók felvétele a Domain Users csoportba
PS C:\> $adsi=[ADSI]"LDAP://CN=Domain
Users,CN=Users,DC=teszt,DC=hu"
PS C:\> $adsi.Add("LDAP://CN=Teszt Elek,CN=Users,DC=teszt,DC=hu")
112
6. fejezet: Haladó rendszerfelügyelet a PowerShellel
113
6.2. Az Active Directory kezelése
114
6. fejezet: Haladó rendszerfelügyelet a PowerShellel
115
6.3. SQL-adatbázisok kezelése
116
6. fejezet: Haladó rendszerfelügyelet a PowerShellel
117
6.4. A rendszer kezelése szkriptekkel
A fenti szkript az adatokat egy olyan .csv fájlból olvassa be, amely-
ben Surname, GivenName, Username, Phone, Office, Password és OU fej-
lécű oszlopok találhatók. Példa:
Surname,GivenName,Username,Phone,Office,Password,OU
Bakt,Ernő,bakterno,100,201,Titok123,Cégvezetés
Bal,Margó,balmargo,101,202,Titok234,Cégvezetés
Bekre,Pál,bekrepal,102,203,Titok345,Cégvezetés
...
118
6. fejezet: Haladó rendszerfelügyelet a PowerShellel
119
6.4. A rendszer kezelése szkriptekkel
6.18. példa: Az utolsó 24 órában keletkezett, kritikus hibákat jelző események megke-
resése az eseménynaplóban; értesítő e-mail küldése
PS C:\> $msg=""
PS C:\> Get-EventLog Application |
>> Where-Object { $_.TimeWritten -gt (Get-Date).AddDays(-1) -and
$_.EntryType -eq "Error" } |
>> ForEach-Object {
>> $msg+="Idő: "+$_.TimeWritten+"`n"
>> $msg+="Típus: "+$_.EntryType+"`n"
>> $msg+="Forrás: "+$_.Source+"`n"
>> $msg+="Azonosító: "+$_.EventID+"`n"
>> $msg+="Üzenet: "+$_.Message+"`n`n" }
>>
PS C:\> $smtp = New-Object "System.Net.Mail.SmtpClient"
"smtp.ceg.hu"
PS C:\>
$smtp.Send("felado.ferenc@ceg.hu","cimzett.cecil@ceg.hu","Az utób-
bi 24 órában keletkezett hibák",$msg)
120
6. fejezet: Haladó rendszerfelügyelet a PowerShellel
121
6.4. A rendszer kezelése szkriptekkel
$hostname=(Get-ChildItem Env:\ComputerName).Value
$conn.Close()
122
6. fejezet: Haladó rendszerfelügyelet a PowerShellel
123
6.4. A rendszer kezelése szkriptekkel
124
HETEDIK FEJEZET
126
7. fejezet: Az Exchange Server és a PowerShell
127
7.3. A postaládák méretének meghatározása
Date Name Identity FolderPat FolderId FolderTyp ItemsInFo FolderSiz ItemsInFo FolderAnd
h e lder e lderAndSu Subfolder
bfolders Size
---- ---- -------- --------- -------- --------- --------- --------- --------- ---------
2008. ... Top of... martonsz\ / LgAAAA... Root 0 0B 1475 37955161B
2008. ... Calendar marton... /Calendar LgAAAA... Calendar 9 13535B 9 13535B
2008. ... Contacts marton... /Contacts LgAAAA... Contacts 126 49624B 126 49624B
2008. ... Conver... marton... /Conve... LgAAAA... Commun... 2 7784B 2 7784B
2008. ... Delete... marton... /Delet... LgAAAA... Delete... 1 136B 1 136B
2008. ... Drafts marton... /Drafts LgAAAA... Drafts 3 1010979B 3 1010979B
2008. ... Inbox marton... /Inbox LgAAAA... Inbox 944 30071629B 944 30071629B
2008. ... Journal marton... /Journal LgAAAA... Journal 12 40095B 12 40095B
2008. ... Junk E... marton... /Junk ... LgAAAA... JunkEmail 0 0B 0 0B
2008. ... Notes marton... /Notes LgAAAA... Notes 1 680B 1 680B
2008. ... Outbox marton... /Outbox LgAAAA... Outbox 0 0B 0 0B
2008. ... RSS Su... marton... /RSS S... LgAAAA... RssSub... 0 0B 0 0B
2008. ... Sent I... marton... /Sent ... LgAAAA... SentItems 373 6746562B 373 6746562B
2008. ... Sync I... marton... /Sync ... LgAAAA... SyncIs... 0 0B 3 14001B
2008. ... Conflicts marton... /Sync ... LgAAAA... Conflicts 3 14001B 3 14001B
128
7. fejezet: Az Exchange Server és a PowerShell
Identity FolderAndSubfolderSize
-------- ----------------------
teszt.hu/Users/Quarantine\ 154344249B
teszt.hu/Users/Gipsz Jakab\ 143494613B
teszt.hu/Users/Mekk Elek\ 142644337B
7.4. Az Exchange-kiszolgáló
megfigyelése
Gyakran előfordul, hogy a felhasználók megkeresik a rendszergaz-
dát, hogy miért „nyelte el” a rendszer az e-mailjüket. Ezt nem min-
dig könnyű kinyomozni. Amikor pedig a főnök kérdezi meg, hogy a
legfontosabb ügyfél levele miért pattan vissza, akkor igazán hasznos,
ha gyorsan utána tudunk nézni az egyes üzeneteknek, és ki tudjuk
deríteni a hiba okát. Keressük meg azokat az e-maileket, amelyek a
mai napon jöttek (vagy csak próbáltak jönni) a teszt@partner.hu címről:
129
7.4. Az Exchange-kiszolgáló megfigyelése
130
7. fejezet: Az Exchange Server és a PowerShell
a kimenő leveleket.
131
7.4. Az Exchange-kiszolgáló megfigyelése
Dátum
132
NYOLCADIK FEJEZET
A PowerShell bővítése
Parancselem Leírás
PowerGUI
134
8. fejezet: A PowerShell bővítése
PowerShell Analyzer
135
8.2. ASP.NET-alkalmazás fejlesztése
136
8. fejezet: A PowerShell bővítése
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Futó folyamatok</title>
</head>
137
8.2. ASP.NET-alkalmazás fejlesztése
138
8. fejezet: A PowerShell bővítése
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Futó folyamatok</title>
</head>
<body>
<table border="1">
<tr><td>Id</td><td>ProcessName</td><td>WorkingSet</td></tr>
<%
System.Management.Automation.Runspaces.RunspaceConfiguration
rsConfig =
System.Management.Automation.Runspaces.RunspaceConfiguration.Create();
System.Management.Automation.Runspaces.Runspace myRunSpace =
System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace
(rsConfig);
myRunSpace.Open();
System.Management.Automation.Runspaces.Pipeline pipeLine =
myRunSpace.CreatePipeline();
pipeLine.Commands.AddScript("Get-Process");
foreach (System.Management.Automation.PSObject result in
pipeLine.Invoke())
{
Response.Write("<tr>");
Response.Write("<td>" +
result.Members["Id"].Value.ToString() + "</td>");
Response.Write("<td>" +
result.Members["ProcessName"].Value.ToString() + "</td>");
Response.Write("<td>" +
result.Members["WorkingSet"].Value.ToString() + "</td>");
Response.Write("</tr>");
}
%>
</table>
</body>
</html>
139
A FÜGGELÉK
A példák jegyzéke
16-os számrendszer
64 2.49 Számok kiíratása 16-os számrendszerben
65 2.50 Számok kiíratása 16-os számrendszerben, nagybetűkkel
65 2.51 Számok kiíratása 16-os számrendszerben, jobbra zárva
ábécésorrend
55 2.35 A könyvtárlista kiíratása név szerinti ábécésorrendben
Active Directory
109 6.2 Active Directory-beli felhasználói fiók adatainak lekérdezése az ADSI-
felület segítségével
111 6.3 Active Directory-beli felhasználói fiók egy tulajdonságának módosítása
111 6.4 Letiltott Active Directory-beli felhasználói fiók engedélyezése
111 6.5 Active Directory-beli felhasználói fiók megjelenített nevének módosítása
112 6.6 Active Directory-beli felhasználói fiók csoporttagságának ellenőrzése
112 6.7 Active Directory-beli felhasználói fiók felvétele a Domain Users csoportba
112 6.8 Active Directory-beli felhasználói fiók eltávolítása a Domain Users
csoportból
112 6.9 Active Directory-beli felhasználói fiók jelszavának módosítása
113 6.10 Active Directory-beli felhasználói fiók jelszavának beállítása
113 6.11 Felhasználói fiók létrehozása az Active Directory címtárban
114 6.12 Active Directory-beli felhasználói fiók törlése
Active Directory-tartomány
142
böngésző típusa
aláírás
85 3.23 PowerShell-szkript aláírása tanúsítvánnyal
alkönyvtár
53 2.30 Könyvtárlista összegyűjtése alkönyvtárakból is; meghatározott nevű
fájlok kiválogatása a Where-Object parancselemmel és reguláris kife-
jezésekkel
aritmetikai művelet
45 2.19 Bonyolultabb aritmetikai műveletek
áthelyezés
88 4.2 A .doc kiterjesztésű fájlok áthelyezése, a többi fájl kitörlése adott
mappából
átlagszámítás
54 2.33 Az aktuális mappában levő fájlok átlagos méretének kiszámítása
beállításjegyzék
99 5.1 Függvények a beállításjegyzék kulcsainak elérésére
99 5.2 A beállításjegyzék kulcsainak kilistázása
100 5.3 Beállításjegyzék: bejegyzés létrehozása, módosítása, áthelyezése és le-
kérdezése
101 5.4 Bejegyzés értékének lekérdezése a beállításjegyzékből
102 5.5 Beállításjegyzék: az Internet Explorer kezdőlapjának ellenőrzése és
módosítása
102 5.6 Beállításjegyzék: hozzáférési engedély beállítása beállításjegyzék-beli
kulcsra
beépülő modul
126 7.1 Beépülő modul betöltése a PowerShellbe
billentyűzet
50 2.26 Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gépel
50 2.27 Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gé-
pel; hátul tesztelő while ciklussal
biztonságos karakterlánc
127 7.3 Biztonságos karakterlánc létrehozása karakterenként
böngésző típusa
124 6.21 Az IIS webkiszolgáló naplóinak elemzése; statisztika készítése a bön-
gészők típusa szerint
143
C#
C#
139 8.3 A futó folyamatok listájának megjelenítése egy weboldalon Visual
C#.NET-ben programozva
Cert:
84 3.21 A tanúsítványtár mint meghajtó kezelése
ciklus
48 2.23 A for ciklus
49 2.24 A ciklusváltozó módosítása a for ciklus magjában
Compare-Object
59 2.42 Két gyűjtemény összehasonlítása; folyamatok listájának változóba he-
lyezése és az újonnan elindított folyamatok észlelése
-contains
42 2.14 Karakterláncok összehasonlítása
44 2.16 Az if operátor használata
csoport
112 6.6 Active Directory-beli felhasználói fiók csoporttagságának ellenőrzése
112 6.7 Active Directory-beli felhasználói fiók felvétele a Domain Users csoportba
112 6.8 Active Directory-beli felhasználói fiók eltávolítása a Domain Users
csoportból
csoportok elemeinek megszámolása
58 2.41 Az egyes csoportok elemeinek megszámolása csoportosított gyűjte-
ményben (most épp könyvtárlistában)
csoportosítás
57 2.40 Könyvtárlista mint gyűjtemény elemeinek csoportosítása a fájlok ki-
terjesztése szerint
58 2.41 Az egyes csoportok elemeinek megszámolása csoportosított gyűjte-
ményben (most épp könyvtárlistában)
csoporttagság
112 6.6 Active Directory-beli felhasználói fiók csoporttagságának ellenőrzése
112 6.7 Active Directory-beli felhasználói fiók felvétele a Domain Users csoportba
112 6.8 Active Directory-beli felhasználói fiók eltávolítása a Domain Users
csoportból
CSV-fájl beolvasása
93 4.12 CSV-fájl beolvasása objektumgyűjteménybe
93 4.13 Meghatározott nevű objektumok beolvasása CSV-fájlból
144
e-mail-cím
145
e-mail-forgalom
e-mail-forgalom
131 7.8 Statisztika készítése a napi e-mail-forgalomról: fogadott levelek, levél-
szemét, valószínű levélszemét, kimenő levelek
engedély
95 4.14 Hozzáférési engedély hozzáadása fájlhoz
102 5.6 Beállításjegyzék: hozzáférési engedély beállítása beállításjegyzék-beli
kulcsra
-eq
101 5.4 Bejegyzés értékének lekérdezése a beállításjegyzékből
eseménynapló
79 3.16 A rendszernaplóban levő 10 legújabb esemény kiíratása
80 3.17 A lemezalrendszer (Disk forrás) eseményeinek kiíratása a rendszer-
naplóból
80 3.18 Adott forrásból származó, a rendszernaplóba az elmúlt 24 órában be-
írt események megkeresése
81 3.19 Adott forrásból származó, legfeljebb 3, legfeljebb 1 napos esemény kiírása
119 6.17 A két hétnél régebben nem használt fájlok megkeresése, jelentés írása
az eseménynaplóba
120 6.18 Az utolsó 24 órában keletkezett, kritikus hibákat jelző események
megkeresése az eseménynaplóban; értesítő e-mail küldése
122 6.19 Naplók gyűjtése közös SQL-adatbázisba több különböző kiszolgálóról
Exchange Server
126 7.1 Beépülő modul betöltése a PowerShellbe
126 7.2 Új felhasználói fiók és új postaláda létrehozása az Exchange Server
rendszerben
127 7.4 CSV-fájlban felsorolt felhasználók létrehozása a New-Mailbox pa-
rancselemmel
128 7.5 Az Exchange-postaládák méretének lekérdezése, az adatok táblázatos
megjelenítése
129 7.6 A három legnagyobb Exchange-postaláda kilistázása
129 7.7 Adott e-mail-címről érkező levelek megkeresése az Exchange levélto-
vábbító ügynökének naplójában
131 7.8 Statisztika készítése a napi e-mail-forgalomról: fogadott levelek, levél-
szemét, valószínű levélszemét, kimenő levelek
146
fájlkiterjesztés
-f
63 2.45 Adatmezők formázása az -f operátorral
63 2.46 Adatok formázása jobbra zárva az -f operátorral
64 2.47 Formázósablon alkalmazása az -f operátorral
64 2.48 Könyvtárlista formázása táblázatként az -f operátorral
64 2.49 Számok kiíratása 16-os számrendszerben
65 2.50 Számok kiíratása 16-os számrendszerben, nagybetűkkel
65 2.51 Számok kiíratása 16-os számrendszerben, jobbra zárva
65 2.52 Számok kiíratása pénzösszegként, a pénznem megjelölésével
65 2.53 Számok kiíratása pénzösszegként, a pénznem megjelölésével, a terüle-
ti beállítás módosítása után
65 2.54 Számok kiíratása százalékos értékként
66 2.55 Dátum- és időértékek formázása; a pontos idő kiíratása az aktuális
időt és dátumot tartalmazó objektumból
67 2.56 A teljes dátum és idő kiíratása az aktuális dátumot és időt tartalmazó
objektumból
67 2.57 Lebegőpontos számok (most épp a ) kiíratása adott pontossággal
67 2.58 Lebegőpontos számok (most épp a ) kiíratása 3 tizedesjegyre kerekítve
fájl
53 2.32 Az aktuális mappában levő fájlok méretének összegzése
54 2.33 Az aktuális mappában levő fájlok átlagos méretének kiszámítása
54 2.34 Az aktuális mappában levő .exe fájlok méretének összegzése
57 2.38 Az aktuális mappában levő 3 legrégebben módosított fájl kilistázása
88 4.2 A .doc kiterjesztésű fájlok áthelyezése, a többi fájl kitörlése adott
mappából
90 4.6 A .doc kiterjesztésű fájlok áthelyezése egy, az aktuális dátumról elne-
vezett mappába
91 4.8 Fájlok letöltése szövegfájlban felsorolt URL-címekről
95 4.14 Hozzáférési engedély hozzáadása fájlhoz
119 6.17 A két hétnél régebben nem használt fájlok megkeresése, jelentés írása
az eseménynaplóba
fájl beolvasása
93 4.12 CSV-fájl beolvasása objektumgyűjteménybe
93 4.13 Meghatározott nevű objektumok beolvasása CSV-fájlból
fájlkiterjesztés
57 2.40 Könyvtárlista mint gyűjtemény elemeinek csoportosítása a fájlok ki-
terjesztése szerint
147
felhasználói fiók
felhasználói fiók
109 6.2 Active Directory-beli felhasználói fiók adatainak lekérdezése az ADSI-
felület segítségével
111 6.3 Active Directory-beli felhasználói fiók egy tulajdonságának módosítása
111 6.4 Letiltott Active Directory-beli felhasználói fiók engedélyezése
111 6.5 Active Directory-beli felhasználói fiók megjelenített nevének módosítása
112 6.6 Active Directory-beli felhasználói fiók csoporttagságának ellenőrzése
112 6.7 Active Directory-beli felhasználói fiók felvétele a Domain Users csoportba
112 6.8 Active Directory-beli felhasználói fiók eltávolítása a Domain Users
csoportból
112 6.9 Active Directory-beli felhasználói fiók jelszavának módosítása
113 6.10 Active Directory-beli felhasználói fiók jelszavának beállítása
113 6.11 Felhasználói fiók létrehozása az Active Directory címtárban
114 6.12 Active Directory-beli felhasználói fiók törlése
114 6.13 Active Directory-tartomány összes felhasználói fiókja megjelenítendő
nevének kiírása
115 6.14 Active Directory-beli felhasználói fiók megkeresése és leírásának mó-
dosítása
126 7.2 Új felhasználói fiók és új postaláda létrehozása az Exchange Server
rendszerben
felhasználói fiók létrehozása
113 6.11 Felhasználói fiók létrehozása az Active Directory címtárban
118 6.16 Több felhasználó felvétele az Active Directory címtárba CSV-fájlból
126 7.2 Új felhasználói fiók és új postaláda létrehozása az Exchange Server
rendszerben
127 7.4 CSV-fájlban felsorolt felhasználók létrehozása a New-Mailbox pa-
rancselemmel
fizikai memória
106 6.1 WMI-objektumok lekérdezése (fizikai memória, lemezek)
folyamat
59 2.42 Két gyűjtemény összehasonlítása; folyamatok listájának változóba he-
lyezése és az újonnan elindított folyamatok észlelése
72 3.7 A folyamatok listájának kiíratása
73 3.8 Az 50 MB-nál több memóriát használó folyamatok kilistázása
74 3.9 A legtöbb memóriát használó folyamat leállítása
75 3.10 Folyamat sikeres leállításának ellenőrzése
75 3.11 A nem válaszoló folyamatok megkeresése
148
Format-List
149
Format-Table
Format-Table
60 2.43 A könyvtárlista átformázása táblázatként
106 6.1 WMI-objektumok lekérdezése (fizikai memória, lemezek)
129 7.7 Adott e-mail-címről érkező levelek megkeresése az Exchange levélto-
vábbító ügynökének naplójában
formázás
60 2.43 A könyvtárlista átformázása táblázatként
61 2.44 A könyvtárlista átformázása listaként
63 2.45 Adatmezők formázása az -f operátorral
63 2.46 Adatok formázása jobbra zárva az -f operátorral
64 2.47 Formázósablon alkalmazása az -f operátorral
64 2.48 Könyvtárlista formázása táblázatként az -f operátorral
128 7.5 Az Exchange-postaládák méretének lekérdezése, az adatok táblázatos
megjelenítése
formázósablon
64 2.47 Formázósablon alkalmazása az -f operátorral
function
69 3.1 Függvény létrehozása és érték visszaadása
69 3.2 Függvény, amely eltávolítja a szóközöket egy karakterláncból
70 3.4 Függvény, amely megfordítja a bájtokat egy IP-címben
71 3.5 Függvény, amely megfordítja egy IP-cím bájtjait – szövegszerkesztő-
ben megírva
99 5.1 Függvények a beállításjegyzék kulcsainak elérésére
futtatás
91 4.9 Karakterláncban tárolt parancs futtatása
92 4.10 Változóban tárolt parancs futtatása
függvény
69 3.1 Függvény létrehozása és érték visszaadása
69 3.2 Függvény, amely eltávolítja a szóközöket egy karakterláncból
70 3.3 A szóközöket eltávolító függvény kipróbálása
70 3.4 Függvény, amely megfordítja a bájtokat egy IP-címben
71 3.5 Függvény, amely megfordítja egy IP-cím bájtjait – szövegszerkesztő-
ben megírva
71 3.6 Függvény kódjának beillesztése a PowerShellbe
99 5.1 Függvények a beállításjegyzék kulcsainak elérésére
-ge
41 2.13 Számok összehasonlítása
150
Get-ChildItem
Get-Acl
95 4.14 Hozzáférési engedély hozzáadása fájlhoz
102 5.6 Beállításjegyzék: hozzáférési engedély beállítása beállításjegyzék-beli
kulcsra
Get-AgentLog
129 7.7 Adott e-mail-címről érkező levelek megkeresése az Exchange levélto-
vábbító ügynökének naplójában
131 7.8 Statisztika készítése a napi e-mail-forgalomról: fogadott levelek, levél-
szemét, valószínű levélszemét, kimenő levelek
Get-ChildItem
33 2.1 Könyvtárlista kiíratása
39 2.10 A könyvtárlista változóba helyezése és kezelése gyűjteményként
51 2.28 Válogatás a könyvtárlistából a Where-Object parancselemmel
53 2.30 Könyvtárlista összegyűjtése alkönyvtárakból is; meghatározott nevű
fájlok kiválogatása a Where-Object parancselemmel és reguláris kife-
jezésekkel
53 2.32 Az aktuális mappában levő fájlok méretének összegzése
54 2.33 Az aktuális mappában levő fájlok átlagos méretének kiszámítása
54 2.34 Az aktuális mappában levő .exe fájlok méretének összegzése
55 2.35 A könyvtárlista kiíratása név szerinti ábécésorrendben
56 2.36 A könyvtárlista kiíratása az utolsó módosítás ideje szerinti fordított
időrendben
56 2.37 Az aktuális mappában levő 5 legkisebb fájl kilistázása
57 2.38 Az aktuális mappában levő 3 legrégebben módosított fájl kilistázása
57 2.40 Könyvtárlista mint gyűjtemény elemeinek csoportosítása a fájlok ki-
terjesztése szerint
58 2.41 Az egyes csoportok elemeinek megszámolása csoportosított gyűjte-
ményben (most épp könyvtárlistában)
60 2.43 A könyvtárlista átformázása táblázatként
61 2.44 A könyvtárlista átformázása listaként
64 2.48 Könyvtárlista formázása táblázatként az -f operátorral
77 3.14 A legalább két hete nem használt objektumok megkeresése az aktuális
mappában
85 3.22 Tanúsítvány megkeresése a tanúsítványtárban
88 4.2 A .doc kiterjesztésű fájlok áthelyezése, a többi fájl kitörlése adott mappából
92 4.10 Változóban tárolt parancs futtatása
99 5.2 A beállításjegyzék kulcsainak kilistázása
151
Get-Content
119 6.17 A két hétnél régebben nem használt fájlok megkeresése, jelentés írása
az eseménynaplóba
Get-Content
91 4.8 Fájlok letöltése szövegfájlban felsorolt URL-címekről
92 4.11 Szövegfájl soraiban tárolt parancsok futtatása
124 6.20 Az IIS webkiszolgáló naplóinak elemzése; annak meghatározása,
hogy melyik IP-címről hány kérés érkezett
124 6.21 Az IIS webkiszolgáló naplóinak elemzése; statisztika készítése a bön-
gészők típusa szerint
Get-Date
35 2.2 Az aktuális dátum és idő változóba helyezése, majd kiíratása
35 2.3 Időértékek kivonása: két időpont között eltelt idő kiszámítása
66 2.55 Dátum- és időértékek formázása; a pontos idő kiíratása az aktuális
időt és dátumot tartalmazó objektumból
67 2.56 A teljes dátum és idő kiíratása az aktuális dátumot és időt tartalmazó
objektumból
76 3.12 Az aktuális dátum változóba helyezése, egy nap hozzáadása
76 3.13 Egy nap hozzáadása az aktuális dátumhoz
77 3.14 A legalább két hete nem használt objektumok megkeresése az aktuális
mappában
78 3.15 Dátumok kivonása, időtartam kiszámítása
80 3.18 Adott forrásból származó, a rendszernaplóba az elmúlt 24 órában be-
írt események megkeresése
89 4.3 Év, hónap és nap hibás összefűzése dátumban
89 4.4 Év, hónap és nap majdnem helyes összefűzése dátumban
89 4.5 Év, hónap és nap helyes összefűzése dátumban
Get-EventLog
79 3.16 A rendszernaplóban levő 10 legújabb esemény kiíratása
80 3.17 A lemezalrendszer (Disk forrás) eseményeinek kiíratása a rendszer-
naplóból
80 3.18 Adott forrásból származó, a rendszernaplóba az elmúlt 24 órában be-
írt események megkeresése
81 3.19 Adott forrásból származó, legfeljebb 3, legfeljebb 1 napos esemény kiírása
120 6.18 Az utolsó 24 órában keletkezett, kritikus hibákat jelző események
megkeresése az eseménynaplóban; értesítő e-mail küldése
122 6.19 Naplók gyűjtése közös SQL-adatbázisba több különböző kiszolgálóról
152
Group-Object
Get-Help
87 4.1 Az -Item végű parancselemek kilistázása
Get-ItemProperty
101 5.4 Bejegyzés értékének lekérdezése a beállításjegyzékből
102 5.5 Beállításjegyzék: az Internet Explorer kezdőlapjának ellenőrzése és
módosítása
Get-Mailbox
129 7.6 A három legnagyobb Exchange-postaláda kilistázása
Get-MailboxFolderStatistics
128 7.5 Az Exchange-postaládák méretének lekérdezése, az adatok táblázatos
megjelenítése
129 7.6 A három legnagyobb Exchange-postaláda kilistázása
Get-Member
36 2.4 Karakterlánc metódusainak és tulajdonságainak lekérdezése
93 4.12 CSV-fájl beolvasása objektumgyűjteménybe
Get-Process
59 2.42 Két gyűjtemény összehasonlítása; folyamatok listájának változóba he-
lyezése és az újonnan elindított folyamatok észlelése
72 3.7 A folyamatok listájának kiíratása
73 3.8 Az 50 MB-nál több memóriát használó folyamatok kilistázása
74 3.9 A legtöbb memóriát használó folyamat leállítása
75 3.10 Folyamat sikeres leállításának ellenőrzése
75 3.11 A nem válaszoló folyamatok megkeresése
137 8.2 A futó folyamatok listájának megjelenítése egy weboldalon Visual
Basic.NET-ben programozva
139 8.3 A futó folyamatok listájának megjelenítése egy weboldalon Visual
C#.NET-ben programozva
Get-WmiObject
106 6.1 WMI-objektumok lekérdezése (fizikai memória, lemezek)
Group-Object
57 2.40 Könyvtárlista mint gyűjtemény elemeinek csoportosítása a fájlok ki-
terjesztése szerint
58 2.41 Az egyes csoportok elemeinek megszámolása csoportosított gyűjte-
ményben (most épp könyvtárlistában)
124 6.20 Az IIS webkiszolgáló naplóinak elemzése; annak meghatározása,
hogy melyik IP-címről hány kérés érkezett
153
-gt
154
IP-cím
idő
35 2.2 Az aktuális dátum és idő változóba helyezése, majd kiíratása
35 2.3 Időértékek kivonása: két időpont között eltelt idő kiszámítása
56 2.36 A könyvtárlista kiíratása az utolsó módosítás ideje szerinti fordított
időrendben
66 2.55 Dátum- és időértékek formázása; a pontos idő kiíratása az aktuális
időt és dátumot tartalmazó objektumból
67 2.56 A teljes dátum és idő kiíratása az aktuális dátumot és időt tartalmazó
objektumból
időtartam
78 3.15 Dátumok kivonása, időtartam kiszámítása
if
44 2.16 Az if operátor használata
101 5.4 Bejegyzés értékének lekérdezése a beállításjegyzékből
IIS
124 6.20 Az IIS webkiszolgáló naplóinak elemzése; annak meghatározása,
hogy melyik IP-címről hány kérés érkezett
124 6.21 Az IIS webkiszolgáló naplóinak elemzése; statisztika készítése a bön-
gészők típusa szerint
Import-Csv
93 4.12 CSV-fájl beolvasása objektumgyűjteménybe
93 4.13 Meghatározott nevű objektumok beolvasása CSV-fájlból
118 6.16 Több felhasználó felvétele az Active Directory címtárba CSV-fájlból
127 7.4 CSV-fájlban felsorolt felhasználók létrehozása a New-Mailbox pa-
rancselemmel
Internet Explorer
102 5.5 Beállításjegyzék: az Internet Explorer kezdőlapjának ellenőrzése és
módosítása
Invoke-Expression
91 4.9 Karakterláncban tárolt parancs futtatása
92 4.10 Változóban tárolt parancs futtatása
92 4.11 Szövegfájl soraiban tárolt parancsok futtatása
IP-cím
70 3.4 Függvény, amely megfordítja a bájtokat egy IP-címben
71 3.5 Függvény, amely megfordítja egy IP-cím bájtjait – szövegszerkesztő-
ben megírva
155
ismétlődő elemek kihagyása
156
kulcs (beállításjegyzékben)
kivonás
35 2.3 Időértékek kivonása: két időpont között eltelt idő kiszámítása
45 2.17 Változók összeadása, kivonása
45 2.18 Számkonstansok összeadása, kivonása
konstans
40 2.12 Adatok megadása konstansként
45 2.18 Számkonstansok összeadása, kivonása
45 2.19 Bonyolultabb aritmetikai műveletek
47 2.21 A pi () konstans előhívása a .NET-osztálytárból
könyvtárlista
33 2.1 Könyvtárlista kiíratása
39 2.10 A könyvtárlista változóba helyezése és kezelése gyűjteményként
51 2.28 Válogatás a könyvtárlistából a Where-Object parancselemmel
53 2.30 Könyvtárlista összegyűjtése alkönyvtárakból is; meghatározott nevű
fájlok kiválogatása a Where-Object parancselemmel és reguláris kife-
jezésekkel
55 2.35 A könyvtárlista kiíratása név szerinti ábécésorrendben
56 2.36 A könyvtárlista kiíratása az utolsó módosítás ideje szerinti fordított
időrendben
56 2.37 Az aktuális mappában levő 5 legkisebb fájl kilistázása
57 2.38 Az aktuális mappában levő 3 legrégebben módosított fájl kilistázása
57 2.40 Könyvtárlista mint gyűjtemény elemeinek csoportosítása a fájlok ki-
terjesztése szerint
58 2.41 Az egyes csoportok elemeinek megszámolása csoportosított gyűjte-
ményben (most épp könyvtárlistában)
60 2.43 A könyvtárlista átformázása táblázatként
61 2.44 A könyvtárlista átformázása listaként
64 2.48 Könyvtárlista formázása táblázatként az -f operátorral
kritikus hiba
120 6.18 Az utolsó 24 órában keletkezett, kritikus hibákat jelző események
megkeresése az eseménynaplóban; értesítő e-mail küldése
kulcs (beállításjegyzékben)
99 5.1 Függvények a beállításjegyzék kulcsainak elérésére
99 5.2 A beállításjegyzék kulcsainak kilistázása
102 5.6 Beállításjegyzék: hozzáférési engedély beállítása beállításjegyzék-beli
kulcsra
157
LDAP
LDAP
109 6.2 Active Directory-beli felhasználói fiók adatainak lekérdezése az ADSI-
felület segítségével
-le
49 2.25 Sok kép automatikus letöltése egy webhelyről
lebegőpontos szám
67 2.57 Lebegőpontos számok (most épp a ) kiíratása adott pontossággal
67 2.58 Lebegőpontos számok (most épp a ) kiíratása 3 tizedesjegyre kerekítve
lemezkezelés
80 3.17 A lemezalrendszer (Disk forrás) eseményeinek kiíratása a rendszernaplóból
106 6.1 WMI-objektumok lekérdezése (fizikai memória, lemezek)
letiltott felhasználói fiók
111 6.4 Letiltott Active Directory-beli felhasználói fiók engedélyezése
letöltés
49 2.25 Sok kép automatikus letöltése egy webhelyről
levelek keresése
129 7.7 Adott e-mail-címről érkező levelek megkeresése az Exchange levélto-
vábbító ügynökének naplójában
levélszemét
131 7.8 Statisztika készítése a napi e-mail-forgalomról: fogadott levelek, levél-
szemét, valószínű levélszemét, kimenő levelek
levéltovábbító ügynök
129 7.7 Adott e-mail-címről érkező levelek megkeresése az Exchange levélto-
vábbító ügynökének naplójában
-like
42 2.14 Karakterláncok összehasonlítása
-lt
41 2.13 Számok összehasonlítása
makecert
84 3.20 Gyökértanúsítvány, majd PowerShell-szkriptek futtatásához szüksé-
ges tanúsítvány létrehozása
mappa
90 4.6 A .doc kiterjesztésű fájlok áthelyezése egy, az aktuális dátumról elne-
vezett mappába
91 4.7 A Push-Location és a Pop-Location parancselemek használata
158
napló
-match
43 2.15 Karakterláncok vizsgálata reguláris kifejezéssel
93 4.13 Meghatározott nevű objektumok beolvasása CSV-fájlból
53 2.30 Könyvtárlista összegyűjtése alkönyvtárakból is; meghatározott nevű
fájlok kiválogatása a Where-Object parancselemmel és reguláris kife-
jezésekkel
53 2.31 Kézzel létrehozott gyűjtemény szűrése a Where-Object parancselemmel
meghajtó
84 3.21 A tanúsítványtár mint meghajtó kezelése
megjelenítendő név
114 6.13 Active Directory-tartomány összes felhasználói fiókja megjelenítendő
nevének kiírása
memóriahasználat
73 3.8 Az 50 MB-nál több memóriát használó folyamatok kilistázása
74 3.9 A legtöbb memóriát használó folyamat leállítása
mértékegység
52 2.29 Mennyiségek megadása mértékegységgel (KB, MB, GB)
metódus
36 2.4 Karakterlánc metódusainak és tulajdonságainak lekérdezése
módosítás ideje
56 2.36 A könyvtárlista kiíratása az utolsó módosítás ideje szerinti fordított
időrendben
57 2.38 Az aktuális mappában levő 3 legrégebben módosított fájl kilistázása
Move-Item
88 4.2 A .doc kiterjesztésű fájlok áthelyezése, a többi fájl kitörlése adott
mappából
90 4.6 A .doc kiterjesztésű fájlok áthelyezése egy, az aktuális dátumról elne-
vezett mappába
Move-ItemProperty
100 5.3 Beállításjegyzék: bejegyzés létrehozása, módosítása, áthelyezése és le-
kérdezése
napló
124 6.20 Az IIS webkiszolgáló naplóinak elemzése; annak meghatározása,
hogy melyik IP-címről hány kérés érkezett
124 6.21 Az IIS webkiszolgáló naplóinak elemzése; statisztika készítése a bön-
gészők típusa szerint
159
napok hozzáadása dátumhoz
160
összefűzés
-nomatch
112 6.6 Active Directory-beli felhasználói fiók csoporttagságának ellenőrzése
objektum
36 2.4 Karakterlánc metódusainak és tulajdonságainak lekérdezése
66 2.55 Dátum- és időértékek formázása; a pontos idő kiíratása az aktuális
időt és dátumot tartalmazó objektumból
67 2.56 A teljes dátum és idő kiíratása az aktuális dátumot és időt tartalmazó
objektumból
77 3.14 A legalább két hete nem használt objektumok megkeresése az aktuális
mappában
93 4.13 Meghatározott nevű objektumok beolvasása CSV-fájlból
olvasás billentyűzetről
50 2.26 Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gépel
50 2.27 Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gé-
pel; hátul tesztelő while ciklussal
operátor
41 2.13 Számok összehasonlítása
42 2.14 Karakterláncok összehasonlítása
43 2.15 Karakterláncok vizsgálata reguláris kifejezéssel
44 2.16 Az if operátor használata
63 2.45 Adatmezők formázása az -f operátorral
63 2.46 Adatok formázása jobbra zárva az -f operátorral
64 2.47 Formázósablon alkalmazása az -f operátorral
Out-File
131 7.8 Statisztika készítése a napi e-mail-forgalomról: fogadott levelek, levél-
szemét, valószínű levélszemét, kimenő levelek
összeadás
45 2.17 Változók összeadása, kivonása
45 2.18 Számkonstansok összeadása, kivonása
53 2.32 Az aktuális mappában levő fájlok méretének összegzése
54 2.34 Az aktuális mappában levő .exe fájlok méretének összegzése
összefűzés
89 4.3 Év, hónap és nap hibás összefűzése dátumban
89 4.4 Év, hónap és nap majdnem helyes összefűzése dátumban
89 4.5 Év, hónap és nap helyes összefűzése dátumban
161
összehasonlítás
összehasonlítás
41 2.13 Számok összehasonlítása
42 2.14 Karakterláncok összehasonlítása
43 2.15 Karakterláncok vizsgálata reguláris kifejezéssel
44 2.16 Az if operátor használata
59 2.42 Két gyűjtemény összehasonlítása; folyamatok listájának változóba he-
lyezése és az újonnan elindított folyamatok észlelése
parancs futtatása
91 4.9 Karakterláncban tárolt parancs futtatása
92 4.10 Változóban tárolt parancs futtatása
92 4.11 Szövegfájl soraiban tárolt parancsok futtatása
pénznem
65 2.52 Számok kiíratása pénzösszegként, a pénznem megjelölésével
65 2.53 Számok kiíratása pénzösszegként, a pénznem megjelölésével, a terüle-
ti beállítás módosítása után
pi ()
47 2.21 A pi () konstans előhívása a .NET-osztálytárból
47 2.21 A pi () konstans előhívása a .NET-osztálytárból
47 2.22 Kör sugarának kiszámítása
47 2.22 Kör sugarának kiszámítása
67 2.57 Lebegőpontos számok (most épp a ) kiíratása adott pontossággal
67 2.58 Lebegőpontos számok (most épp a ) kiíratása 3 tizedesjegyre kerekítve
pontosság
67 2.57 Lebegőpontos számok (most épp a ) kiíratása adott pontossággal
67 2.58 Lebegőpontos számok (most épp a ) kiíratása 3 tizedesjegyre kerekítve
Pop-Location
91 4.7 A Push-Location és a Pop-Location parancselemek használata
postaláda
126 7.2 Új felhasználói fiók és új postaláda létrehozása az Exchange Server
rendszerben
128 7.5 Az Exchange-postaládák méretének lekérdezése, az adatok táblázatos
megjelenítése
129 7.6 A három legnagyobb Exchange-postaláda kilistázása
PowerShell-szkript
84 3.20 Gyökértanúsítvány, majd PowerShell-szkriptek futtatásához szüksé-
ges tanúsítvány létrehozása
162
return
163
Select-Object
Select-Object
56 2.37 Az aktuális mappában levő 5 legkisebb fájl kilistázása
57 2.38 Az aktuális mappában levő 3 legrégebben módosított fájl kilistázása
57 2.39 Gyűjtemény ismétlődő elemeinek kihagyása
81 3.19 Adott forrásból származó, legfeljebb 3, legfeljebb 1 napos esemény kiírása
129 7.6 A három legnagyobb Exchange-postaláda kilistázása
Set-Acl
95 4.14 Hozzáférési engedély hozzáadása fájlhoz
102 5.6 Beállításjegyzék: hozzáférési engedély beállítása beállításjegyzék-beli
kulcsra
Set-AuthenticodeSignature
85 3.23 PowerShell-szkript aláírása tanúsítvánnyal
Set-ExecutionPolicy
85 3.23 PowerShell-szkript aláírása tanúsítvánnyal
Set-ItemProperty
100 5.3 Beállításjegyzék: bejegyzés létrehozása, módosítása, áthelyezése és le-
kérdezése
102 5.5 Beállításjegyzék: az Internet Explorer kezdőlapjának ellenőrzése és
módosítása
Set-Location
85 3.22 Tanúsítvány megkeresése a tanúsítványtárban
99 5.1 Függvények a beállításjegyzék kulcsainak elérésére
99 5.2 A beállításjegyzék kulcsainak kilistázása
Sort-Object
55 2.35 A könyvtárlista kiíratása név szerinti ábécésorrendben
56 2.36 A könyvtárlista kiíratása az utolsó módosítás ideje szerinti fordított
időrendben
56 2.37 Az aktuális mappában levő 5 legkisebb fájl kilistázása
57 2.38 Az aktuális mappában levő 3 legrégebben módosított fájl kilistázása
73 3.8 Az 50 MB-nál több memóriát használó folyamatok kilistázása
74 3.9 A legtöbb memóriát használó folyamat leállítása
75 3.10 Folyamat sikeres leállításának ellenőrzése
129 7.6 A három legnagyobb Exchange-postaláda kilistázása
SQL
115 6.15 Tábla kiolvasása SQL-adatbázisból
122 6.19 Naplók gyűjtése közös SQL-adatbázisba több különböző kiszolgálóról
164
szavakra bontás
Sqrt
46 2.20 .NET-függvények hívása számítási műveletekhez; négyzetgyök
Stop-Process
74 3.9 A legtöbb memóriát használó folyamat leállítása
súgó
87 4.1 Az -Item végű parancselemek kilistázása
számok
41 2.13 Számok összehasonlítása
45 2.18 Számkonstansok összeadása, kivonása
45 2.19 Bonyolultabb aritmetikai műveletek
46 2.20 .NET-függvények hívása számítási műveletekhez; négyzetgyök
47 2.21 A pi () konstans előhívása a .NET-osztálytárból
47 2.22 Kör sugarának kiszámítása
50 2.26 Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gépel
50 2.27 Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gé-
pel; hátul tesztelő while ciklussal
52 2.29 Mennyiségek megadása mértékegységgel (KB, MB, GB)
64 2.49 Számok kiíratása 16-os számrendszerben
65 2.50 Számok kiíratása 16-os számrendszerben, nagybetűkkel
65 2.51 Számok kiíratása 16-os számrendszerben, jobbra zárva
65 2.52 Számok kiíratása pénzösszegként, a pénznem megjelölésével
65 2.53 Számok kiíratása pénzösszegként, a pénznem megjelölésével, a terüle-
ti beállítás módosítása után
65 2.54 Számok kiíratása százalékos értékként
67 2.57 Lebegőpontos számok (most épp a ) kiíratása adott pontossággal
67 2.58 Lebegőpontos számok (most épp a ) kiíratása 3 tizedesjegyre kerekítve
számítás
45 2.19 Bonyolultabb aritmetikai műveletek
46 2.20 .NET-függvények hívása számítási műveletekhez; négyzetgyök
47 2.22 Kör sugarának kiszámítása
számrendszer
64 2.49 Számok kiíratása 16-os számrendszerben
65 2.50 Számok kiíratása 16-os számrendszerben, nagybetűkkel
65 2.51 Számok kiíratása 16-os számrendszerben, jobbra zárva
szavakra bontás
38 2.9 Karakterlánc felbontása szavakra, a szavakból gyűjtemény létrehozása
165
százalék
százalék
65 2.54 Számok kiíratása százalékos értékként
szóközök eltávolítása
69 3.2 Függvény, amely eltávolítja a szóközöket egy karakterláncból
70 3.3 A szóközöket eltávolító függvény kipróbálása
szövegfájl
91 4.8 Fájlok letöltése szövegfájlban felsorolt URL-címekről
92 4.11 Szövegfájl soraiban tárolt parancsok futtatása
szűrés
51 2.28 Válogatás a könyvtárlistából a Where-Object parancselemmel
53 2.30 Könyvtárlista összegyűjtése alkönyvtárakból is; meghatározott nevű
fájlok kiválogatása a Where-Object parancselemmel és reguláris kife-
jezésekkel
53 2.31 Kézzel létrehozott gyűjtemény szűrése a Where-Object parancselemmel
56 2.37 Az aktuális mappában levő 5 legkisebb fájl kilistázása
81 3.19 Adott forrásból származó, legfeljebb 3, legfeljebb 1 napos esemény kiírása
tábla
115 6.15 Tábla kiolvasása SQL-adatbázisból
tanúsítvány
84 3.20 Gyökértanúsítvány, majd PowerShell-szkriptek futtatásához szüksé-
ges tanúsítvány létrehozása
84 3.21 A tanúsítványtár mint meghajtó kezelése
85 3.22 Tanúsítvány megkeresése a tanúsítványtárban
85 3.23 PowerShell-szkript aláírása tanúsítvánnyal
tanúsítványtár
84 3.21 A tanúsítványtár mint meghajtó kezelése
85 3.22 Tanúsítvány megkeresése a tanúsítványtárban
tartomány
114 6.13 Active Directory-tartomány összes felhasználói fiókja megjelenítendő
nevének kiírása
területi beállítás
65 2.53 Számok kiíratása pénzösszegként, a pénznem megjelölésével, a terüle-
ti beállítás módosítása után
törlés
88 4.2 A .doc kiterjesztésű fájlok áthelyezése, a többi fájl kitörlése adott mappából
166
webkiszolgáló
tulajdonság
36 2.4 Karakterlánc metódusainak és tulajdonságainak lekérdezése
URL-cím
91 4.8 Fájlok letöltése szövegfájlban felsorolt URL-címekről
változó
35 2.2 Az aktuális dátum és idő változóba helyezése, majd kiíratása
39 2.10 A könyvtárlista változóba helyezése és kezelése gyűjteményként
45 2.17 Változók összeadása, kivonása
48 2.23 A for ciklus
53 2.32 Az aktuális mappában levő fájlok méretének összegzése
54 2.33 Az aktuális mappában levő fájlok átlagos méretének kiszámítása
76 3.12 Az aktuális dátum változóba helyezése, egy nap hozzáadása
92 4.10 Változóban tárolt parancs futtatása
Visual Basic.NET
137 8.2 A futó folyamatok listájának megjelenítése egy weboldalon Visual
Basic.NET-ben programozva
Visual C#.NET
139 8.3 A futó folyamatok listájának megjelenítése egy weboldalon Visual
C#.NET-ben programozva
visszaadott érték
69 3.1 Függvény létrehozása és érték visszaadása
webhely
49 2.25 Sok kép automatikus letöltése egy webhelyről
131 8.1 A PowerShell-szkript futtatásának engedélyezése egy webhely konfi-
gurációjában
137 8.2 A futó folyamatok listájának megjelenítése egy weboldalon Visual
Basic.NET-ben programozva
139 8.3 A futó folyamatok listájának megjelenítése egy weboldalon Visual
C#.NET-ben programozva
webkiszolgáló
124 6.20 Az IIS webkiszolgáló naplóinak elemzése; annak meghatározása, hogy
melyik IP-címről hány kérés érkezett
124 6.21 Az IIS webkiszolgáló naplóinak elemzése; statisztika készítése a bön-
gészők típusa szerint
167
wget
wget
49 2.25 Sok kép automatikus letöltése egy webhelyről
91 4.8 Fájlok letöltése szövegfájlban felsorolt URL-címekről
Where-Object
51 2.28 Válogatás a könyvtárlistából a Where-Object parancselemmel
53 2.30 Könyvtárlista összegyűjtése alkönyvtárakból is; meghatározott nevű
fájlok kiválogatása a Where-Object parancselemmel és reguláris kife-
jezésekkel
53 2.31 Kézzel létrehozott gyűjtemény szűrése a Where-Object parancselemmel
54 2.34 Az aktuális mappában levő .exe fájlok méretének összegzése
73 3.8 Az 50 MB-nál több memóriát használó folyamatok kilistázása
74 3.9 A legtöbb memóriát használó folyamat leállítása
75 3.11 A nem válaszoló folyamatok megkeresése
77 3.14 A legalább két hete nem használt objektumok megkeresése az aktuális
mappában
80 3.17 A lemezalrendszer (Disk forrás) eseményeinek kiíratása a rendszer-
naplóból
80 3.18 Adott forrásból származó, a rendszernaplóba az elmúlt 24 órában be-
írt események megkeresése
93 4.13 Meghatározott nevű objektumok beolvasása CSV-fájlból
while ciklus
50 2.26 Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gépel
50 2.27 Számok beolvasása a billentyűzetről, amíg a felhasználó 0-t nem gé-
pel; hátul tesztelő while ciklussal
WMI
106 6.1 WMI-objektumok lekérdezése (fizikai memória, lemezek)
168
B FÜGGELÉK
Szótár
170
csövezés
171
CSV
172
Internet Information Services
173
intuítív
174
logikai érték
175
logon script
176
önaláírt tanúsítvány
177
parancselem
178
szervizcsomag
179
szkript
180
WMI
181
C FÜGGELÉK
Felhasznált és ajánlott
irodalom
Internetes források
MSDN Library:
http://msdn.microsoft.com/hu-hu/library/default(en-us).aspx
184
Tárgymutató
186
Tárgymutató
engedélyek, 94, 102 fizikai memória, 73, 106, 108, 148, 150,
EntryType, 80, 81, 120, 122 153, 158, 168
EnumerateSubKeys, 103 fizikai merevlemez, 107
-eq, 40, 80, 81, 88, 90, 101, 102, 120, 131, FolderAndSubfolderSize, 129
146 FolderPath, 129
Error, 14, 119 folyamat, 59, 72–74, 148, 153, 159, 164,
ErrorAction, 31 165, 168
ErrorVariable, 31 folyamatlista, 149
érték visszaadása, 69, 150, 163, 167 folyamatok, 59, 72–74, 108, 134, 136,
eseménynapló, 79, 119, 120, 146 137, 139, 144, 148, 149, 153, 154, 159,
EventLogEntryType, 119 162, 164, 167
Exchange Server 2007, 9, 125, 126, 128 for ciklus, 48, 49, 70, 71, 144, 149, 167
Exchange Server, 9, 125, 126, 128, 146, for, 48, 49, 70–72, 85, 107, 127, 144, 149,
148, 160, 162 167
Exchange-kiszolgáló, 129 ForEach-Object, 53, 54, 58, 59, 64, 88,
Exchange-postaláda, 129, 146, 153, 162, 90–92, 114, 115, 118–120, 122, 124, 127,
164 149
ExecuteFile, 96 Format parancselem, 60
ExecuteKey, 103 Format-List, 60, 61, 106, 149
Export parancselem, 62 Format-Statistics, 149
Export-Clixml, 62 Format-Table, 60, 61, 106, 128–130, 150
Export-Csv, 62, 94 formázás, 150
-f operátor, 63, 64, 67, 142, 147, 149–151, formázósablon, 150
156, 157, 161 FullControl, 95, 96, 102
fájl beolvasása, 147 function, 69–71, 99, 150
fájl, 13, 14, 21, 22, 28, 30, 56–58, 62, 82, Futtatás rendszergazdaként, 83
88, 91–93, 126, 132, 137, 142, 143, 147, futtatás, 150
149, 151, 157, 159, 163, 164, 166 futtatási házirend, 82, 83, 85
fájlkiterjesztés, 147 függvény, 69–71, 150, 156, 160, 166
fájlok áthelyezése, 88, 90, 142, 143, 147, garbage collection, 23
149, 151, 158–160, 163, 166 GB, 52, 159, 165
fájlok és mappák törlése, 96 gd, 32
fájlrendszer, 58, 87, 94 -ge, 40, 41, 49, 70–72, 150
false, 73, 111, 114, 118, 137 gépi nyelv, 32
felbontás, 107 Get-Acl, 94, 95, 102, 151
felhasználói fiók létrehozása, 148 Get-AgentLog, 130, 131, 151
felhasználói fiók törlése, 114, 141, 148 Get-Alias, 32
felhasználói fiók, 10, 95, 103, 109–115, Get-ChildItem, 32, 33, 39, 51–58, 60–62,
126, 134, 141, 142, 144–146, 148, 149, 64, 77, 84, 85, 88, 90, 92, 94, 98, 99, 119,
156, 158–163, 166 122, 124, 151
feltételvizsgálat, 44 Get-Clipboard, 134
felügyeleti konzol, 109 Get-Command, 32
felügyelt kód, 22 Get-Content, 91, 92, 124, 152
FileSystemAccessRule, 95, 96, 102 Get-Date, 32, 35, 66, 67, 76–78, 80, 81,
fizikai cím, 107 89, 119, 120, 122, 130, 131, 152
187
Tárgymutató
Get-EventLog, 79–81, 120, 122, 152 if operátor, 44, 144, 155, 156, 161
Get-Help, 32, 87, 126, 153 if, 44, 88–90, 101, 102, 107, 112, 119, 124,
Get-Item, 87, 88, 100–102, 122, 153 131, 144, 155, 156, 161
Get-ItemProperty, 100–102, 122, 153 igény szerinti fordító, 23
Get-Mailbox, 128, 129, 153 IIS, 21, 123, 124, 143, 152–156, 159, 167
Get-MailboxFolderStatistics, 128, 129, 153 Import-Csv, 92, 93, 118, 127, 155
Get-Member, 33, 36, 61, 73, 76, 81, 93, Information, 80, 81, 119
111, 153 infrastruktúrakód, 21
Get-Process, 59, 72–75, 136, 138, 139, 153 inheritance, 17
Get-PSDrive, 34, 84 InputObject, 59
Get-Random, 134 INSERT, 117, 122
Get-Shortpath, 134 instance, 17
Get-WmiObject, 106, 107, 153 instantiation, 18
givenName, 110, 111, 113, 118 integer, 14, 18, 24
grafikus felület, 10, 109, 134 Internet Explorer, 101, 102, 143, 153,
grep, 13 155, 156, 164
Group-Object, 57–59, 124, 153 Internet Information Services, 21
-gt, 40, 80, 81, 107, 120, 122, 131, 154 internet, 130
GZIP algoritmus, 134 Invoke-Expression, 91, 92, 155
gyorsítótár, 108 Invoke-Item, 87
Gyökértanúsítvány, 84, 154, 158, 162, 166 InvokeSet, 111, 114, 118
gyűjtemény, 24, 34, 38, 39, 52, 53, 57, 59, IP-cím, 70, 71, 107, 120, 124, 131, 134,
94, 123, 144, 147–149, 151, 153, 154, 150, 152, 153, 155, 156, 159, 167
156, 157, 159, 162, 165, 166, 168 ismétlődő elemek kihagyása, 156
hálózati csatoló, 107 -Item, 87, 90, 101, 153, 165
HasExited, 73 ItemProperty, 100
hátul tesztelő while ciklus, 50, 143, 154, jelszó, 113, 156
160, 161, 163, 165, 168 JIT, 23
help, 32, 85 jobbra zárás, 156
helyettesítő karakterek, 41 just-in-time, 23
hexadecimális, 65, 154 karakterlánc, 14, 24, 33, 36–38, 42, 44,
HKCU, 97 54, 70, 91, 93, 110, 116, 123, 127, 143,
HKEY_CURRENT_USER, 97, 99 156, 160
HKEY_LOCAL_MACHINE, 97, 123 KB, 52, 159, 165
HKLM, 97–99, 122 képernyő-beállítás, 107
hostname, 121 kerekítés, 156
hozzáférési engedély, 102, 143, 146, 151, keresés és csere, 156
154, 157, 160, 164 kezdőlap, 156
hozzáférés-vezérlő bejegyzés, 94, 95, 103 kimenet, 12, 33, 59, 61
hozzárendelt betűjel, 108 kiszolgáló, 9, 115–117, 122, 130
HTML, 21 Kiszolgálókezelő, 29
ICMP-csomag, 134 kiterjesztés, 13, 84
idő, 13, 16, 35, 66, 67, 73, 76, 97, 142, 145, kivágás, 156
147, 152, 155, 157, 161 kivételkezelés, 23
időtartam, 73, 78, 145, 152, 155 kivonás, 157
188
Tárgymutató
189
Tárgymutató
-not, 40, 41, 112, 124 pénznem, 65, 147, 162, 165
-notcontains, 41 Perl, 35
notepad, 59 physicalDeliveryOfficeName, 111, 113,
notepad.exe, 59 118
Notify, 103 pi, 46, 47, 157, 160, 162, 165
-notlike, 41 Ping-Host, 134
-notmatch, 40, 112 pipe, 12, 71
nyílt forráskód, 133 piping, 12
Object, 36, 51, 59, 93, 131 polymorphism, 17
objektum törlése, 96, 103 pontos idő, 66, 142, 145, 147, 152, 155,
objektum, 18, 24, 25, 33, 41, 52, 58, 70, 76, 161
96, 103, 104, 109, 111, 113, 116, 120, 161 pontosság, 162
objektumorientált programozás, 15 Pop-Location, 90, 91, 142, 158, 162
olvasás billentyűzetről, 161 postaláda, 126, 129, 146, 148, 160, 162
operációs rendszer, 9, 13, 14, 20–22, 24, PowerGUI, 134
28, 29, 62, 65, 79, 83, 84, 105, 107 PowerShell Analyzer, 135
operátor, 44, 64, 65, 161 PowerShell Community Extensions, 133
-or, 41 PowerShell-szkript, 84, 85, 125, 137, 143,
órajel, 108 154, 158, 162–164, 166
Organizational Unit, 110 Process, 72, 73, 75
osztály, 17–20, 46, 47, 102, 106, 119 ProcessName, 72–75, 138
OU, 110, 118, 127 processzor, 73, 107
Out parancselem, 61 programfuttató környezet, 21
OutBuffer, 31 Push-Location, 90, 91, 142, 158, 162
Out-File, 62, 131, 161 QueryValues, 103
Out-Host, 62 rd, 12, 127
Out-Printer, 62 Read, 50, 51, 62, 96, 116, 126, 127, 163
OutVariable, 31 ReadAndExecute, 96
önaláírt tanúsítvány, 83 ReadAttributes, 96
öröklődés, 17 ReadData, 96
összeadás, 46, 53, 161 ReadExtendedAttributes, 96
összefűzés, 161 Read-Host, 50, 51, 62, 126, 127, 163
összehasonlítás, 162 ReadKey, 103
PagedMemorySize, 73 ReadPermissions, 96, 103
parancs futtatása, 91, 92, 150, 151, 155, Registry Editor, 97
156, 162, 167 registry, 97
parancselem, 29–32, 34, 50, 52, 53, 55, RegistryAccessRule, 102
57, 58, 61, 73, 77, 79, 81, 88, 90–92, 94, reguláris kifejezés, 40, 42–44, 52, 53, 143,
98, 100, 106, 129, 130, 134 151, 156, 157, 159, 161–163, 166, 168
parancsfájl, 120 RejectMessage, 130
parancsikon, 134 Remote Server Administration Tools, 114
parancssor, 9, 12, 15, 33, 46, 59, 95 RemoteSigned, 82
parancssori felület, 10 Remove, 30, 36, 77, 87, 88, 90, 99, 100,
Paste, 71 112, 163
példány, 17, 28, 81 Remove-Item, 77, 87, 88, 90, 99, 100, 163
190
Tárgymutató
191
Tárgymutató
192