Tartalom
A könyvben alkalmazott jelölésrendszer
1.1.2 Indítsuk el a PowerShellt!
1.1.4 DOS parancsok végrehajtása
1.1.5 Gyorsbillentyűk, beállítások
1.1.10 A PowerShell, mint számológép
1.1.13 A grafikus PowerShell felület –
Integrated Scripting Environment
1.2.8.1 Meghajtók létrehozása és törlése
(New-PSDrive, Remove-PSDrive)
1.2.8.2 Állandó PSDrive létrehozása
1.2.10 Idézőjelezés, escape használat
1.2.11 Sortörés, többsoros kifejezések
1.2.12 Kifejezés- és parancsfeldolgozás
1.2.14 Csővezeték, futószalag (Pipeline)
1.2.16 Jóváhagyás kezelése, óvatos
végrehajtás
1.3.3.2 Nagyobb tudású tömbök speciális
célokra
1.3.3.5 Generic adattípus –
paraméterezhető típusos tömb
1.3.4 Szótárak (hashtáblák) és
szótártömbök
1.3.4.1 A szótár általános adattípusa
1.3.4.3 Egyéb változások a hashtáblák
kezelésében
1.3.5 Dátumok ([datetime], Get-Date,
Set-Date)
1.3.6 Időtartam számítás (New-TimeSpan)
1.3.7 Automatikus típuskonverzió
1.3.8 .NET típusok, statikus tagok
1.3.10 A .NET osztályok felderítése
1.3.11 PowerShell objektumok vizsgálata
(Format-Custom, ConvertTo-Json)
1.3.12 Objektumok konvertálása szöveges
információvá
1.4.1.3 Osztás, maradékos osztás
1.4.3 Összehasonlító operátorok
1.4.4 Tartalmaz (-contains, -notcontains,
-ccontains, -cnotcontains)
1.4.5 Van benne, nincs benne (-in, -notin,
-cin, -cnotin)
1.4.6 Dzsóker-minták (-like, -clike,
-notlike, -cnotlike)
1.4.7 Regex (-match, -replace, -cmatch,
-creplace)
1.4.7.1 Van-e benne vagy nincs?
1.4.7.2 További karakterosztályok
1.4.7.6 Tudjuk, hogy mi, de hol van?
1.4.7.7 Tekintsünk előre és hátra a
mintában
1.4.7.9 Változatok a keresésre
1.4.7.10 Tudjuk, hogy mi, de hányszor?
1.4.7.13 IF-THEN-ELSE vizsgálat regexben
1.4.7.14 Regex cmdlettel (Select-String)
1.4.7.16 Csere .NET osztállyal
1.4.8 Logikai és bitszintű operátorok
1.4.9 Típusvizsgálat, típuskonverzió (-is,
-isnot, -as)
1.4.10 Egytagú operátorok (+, -, ++, --,
[típus])
1.4.11 Csoportosító operátorok
1.4.11.2 Dolláros gömbölyű zárójel: $()
1.4.11.3 Kukacos gömbölyű zárójel: @()
1.4.11.4 Kapcsos zárójel: {} (bajusz)
1.4.11.5 Dolláros kapcsos zárójel: ${}
1.4.11.6 Szögletes zárójel: []
1.4.13 Tartomány-operátor (..)
1.4.14 Tulajdonság, metódus és statikus
metódus operátora (., ::)
1.4.15 Végrehajtás (., &,
Invoke-Expression)
1.4.18 Az összefűzés és szétdarabolás
operátora (‑join, ‑split, ‑csplit)
1.4.18.1 További trükkök a darabolással
1.4.19 PowerShell 7.0 operátorok
1.4.19.1 Háromtagú feltétel-operátor (?:)
1.4.19.2 Parancsok feltétteles összefűzése
operátor (&& és ||)
1.4.19.3 A Null-al egybeolvadó operátor
(??)
1.4.19.4 Null feltételre értéket adó
operátor (??=)
1.4.19.5 Kísérleti funkció: Null
feltételes tag-operátor (?., ?[])
1.5.2 WHILE, DO-WHILE, DO-UNTIL
1.5.5.1 Párhuzamos Foreach-Object
1.5.7 Címkék, törés (Break), folytatás
(Continue)
1.6.2.1 Paraméterinicializálás
1.6.2.4 Változó számú paraméter
1.6.2.5 Hivatkozás paraméterekre
1.6.2.6 Paraméterátadás változó
szétpasszírozásával (splat operátor)
1.6.2.7 Kapcsoló paraméter ([switch])
1.6.2.8 Paraméter-definíció a
függvénytörzsben (param)
1.6.2.9 Paraméterek, változók ellenőrzése
(validálás)
1.6.3 Függvény a parancsfeldolgozás
előnyeinek kihasználására
1.6.4 Változók láthatósága (scope)
1.6.4.1 Privát, privát, privát
1.6.5 Függvények láthatósága,
„dotsourcing”
1.6.6 Referenciális hivatkozás
paraméterekre ([ref])
1.6.7 Kilépés a függvényből (return)
1.6.8 Gyűjtemény és tömb, mint
visszatérési érték
1.6.11 Függvények törlése, módosítása
1.7.1 Szkriptek engedélyezése és indítása
1.7.2 Változók kiszippantása a
szkriptekből (dot sourcing)
1.7.3 Paraméterek átvétele és a szkript
által visszaadott érték
1.7.4 Szkriptek írása a gyakorlatban
1.7.4.1 PowerGUI Script Editor
1.7.4.2 Megjegyzések, kommentezés (#,
<# #>)
1.7.6 Szkriptek digitális aláírása
1.7.7 Végrehajtási precedencia
1.8 Fontosabb cmdletek és az általános
paraméterek
1.8.1 Véletlen szám generálás és annál
sokkal több (Get-Random)
1.8.2 Csővezeték feldolgozása
(Foreach-Object) – újra
1.8.4 Csoportosítás (Group-Object)
1.8.5 Objektumok átalakítása
(Select-Object)
1.8.5.1 Objektumok csonkolása és
kiegészítése
1.8.5.2 Objektumok szűrése
Select-Object-el
1.8.5.3 Tulajdonságok kiemelése
1.8.5.4 Csőelemek tulajdonságainak
összefűzése a PipelineVariable paraméter segítségével
1.8.6 Még egyszer formázás (Format-Table,
Format-Wide)
1.8.7 Gyűjtemények összehasonlítása
(Compare-Object)
1.8.8 Számlálás (Measure-Object)
1.8.9 A csővezeték elágaztatása
(Tee-Object)
1.8.10 Kimenet megjelenítése grafikus
rácsban (Out-GridView)
1.8.11 Különböző objektumok (Get-Unique)
1.8.12 Nyomtatás (Out-Printer)
1.8.13 Kiírás fájlba (Out-File, Export-)
1.8.14 Egyéni objektumok létrehozása CSV
adatokból (ConvertFrom-CSV)
1.8.15 Táblázatok kezelése (Import-Csv,
ConvertFrom-Csv, ConvertTo-Csv)
1.8.16 Átalakítás szöveggé (Out-String)
1.8.17 Lista-tulajdonságok módosítása
(Update-List)
1.8.18 Kimenet törlése (Out-Null)
1.8.19 Általános paraméterek (common
parameters)
1.9 A ForEach és Where metódusok,
tulajdonságok és metódusok dinamikus kezelése
1.9.3 Mikor érdemes ezeket a metódusokat
használni?
1.9.4 Tulajdonságok és metódusok dinamikus
elérése
1.10 Munka egyéni objektumokkal és
osztályokkal
1.10.1 Objektumok testre szabása,
kiegészítése (Add-Member)
1.10.2 Osztályok (típusok) testre szabása
1.10.3 Típusok testre szabása PS1XML
fájlok nélkül (Update-TypeData)
1.10.4 PSBase, PSAdapted, PSExtended,
PSObject nézetek
1.10.5 Egyedi objektumok létrehozása
1.10.6 Új típusok létrehozása (Add-Type)
1.10.7.1 Osztály létrehozása és
példányosítása
1.10.7.3 Felsorolás osztály létrehozása
1.10.7.4 Egy összetett osztály példája:
láncolt lista
1.10.7.5 Egy másik példa: gráf
1.10.8 Formázás testre szabása (Get‑FormatData,
Update-FormatData)
1.10.9 Egyedi típusok elnevezése
1.10.10 Objektumok mentése, visszatöltése
1.11 Futtatás háttérben és távol
1.11.2 Háttérfolyamatok időkorlátozása
1.11.3 Háttérben futtatás egy alternatív
módja
1.11.4 Háttérben futtatás
Foreach-Object-el
1.11.6 Függvény átadása
háttérfolyamatoknak és távoli munkameneteknek
1.12 Összefoglaló: PowerShell programozási
stílus
2.1.1 Szkriptkönyvtárak, futtatási
információk ($myinvocation)
2.1.1.1 A $MyInvocation felhasználása
parancssor-elemzésre
2.1.3 Követelmények megfogalmazása a
szkriptekben
2.1.4.1 Paraméterezés vizsgálata
($PSBoundParameters)
2.1.4.3 Lépjünk kapcsolatba a
konzolablakkal ($host)
2.1.4.4 Adatbevitel feleletválasztással
2.1.5 Környezeti változók (env:)
2.1.10 Alaphelyzet szerinti
paraméterértékek definiálása
2.1.11 Örökítsük meg munkánkat
(start-transcript)
2.1.12 Újabb nézetek definiálása a
táblázatos megjelenítéshez
2.1.13 Stopperoljuk a futási időt és
várakozzunk (measure-command, start-sleep, get-history)
2.1.14 Előrehaladás jelzése
(write-progress)
2.2.1 Modulok importálása és eltávolítása
2.2.3 „About” súgó készítése modulhoz
2.2.4 Moduljegyzék készítése (Module
Manifest)
2.2.6 Jegyzékmodul (Manifest Module)
2.2.7 Bináris és dinamikus modulok
2.2.8 Közösségi modulok elérése a
PowerShell Gallery-ből
2.3.1 PowerGUI, PowerGUI Script Editor
2.3.2 Építsünk rendszergazda eszközt
PowerGUI alapon!
2.3.2.1 Faelemek, rács és a tevékenységek
2.3.5.1 Az ISE objektummodellje
2.3.5.2 Snippetek testre szabása
2.4.1 Megszakító és nem megszakító hibák
2.4.2 Hibajelzés kiolvasása ($error)
2.4.3 Hibakezelés globális paraméterei
2.4.4 Hibakezelés saját függvényeinkben
(trap, try, catch, finally)
2.4.5 Nem megszakító hibák kezelése
függvényeinkben
2.4.6.1 Státusjelzés (write-verbose,
write-warning, write-debug)
2.4.6.2 Lépésenkénti végrehajtás és
szigorú változókezelés (set-psdebug)
2.4.6.3 Ássunk még mélyebbre
(Trace-Command)
2.4.6.4 Megszakítási pontok kezelése a
konzolon
2.4.6.5 Megszakítási pontok kezelése a
grafikus szerkesztőben
2.4.6.6 Szkriptek és kifejezések
hibakeresése megszakítási pontok nélkül
2.4.7 Hibakeresés háttérfolyamatokban és
távoli munkamenetekben
2.4.7.1 Hibakeresés háttérfolyamatokban
2.4.7.2 Távoli munkamenetek
hibafelderítése
2.4.8 A PowerShell eseménynaplói
2.5 Fejlett függvények – script cmdletek
2.5.1 Az első fejlett függvényem
2.5.2 Egyszerre kötelező és szabadon
választott paraméter
2.5.3.1 Ellenőrzési szabályok rendelése
változókhoz
2.5.7 Függvényeink óvatos végrehajtása
(-WhatIf)
2.5.8 Meglevő cmdletek kiegészítése,
átalakítása
2.5.9 A $ExecutionContext változó
2.5.10.1 Dinamikus paraméter létrehozása
függvényben
2.5.10.2 Dinamikus paraméter dinamikus
értékhalmazzal
2.5.11 Paraméterek vizsgálata megszakítás
közben
2.5.13 Szkriptek nemzetköziesítése
2.6.1 Fájlok és mappák listázása
2.6.2 Fájl és könyvtár létrehozása
(new-item), ellenőrzése (test-path)
2.6.3 Játékok az elérési utakkal
2.6.4 Fájlok, mappák másolása és mozgatása
2.6.5 Fájlok, mappák átnevezése
2.6.7 Szövegfájlok beolvasása
(Get-Content)
2.6.8 Keresés szövegfájlokban
(Select-String)
2.6.9 Szövegfájl írása (Set-Content,
Add-Content, Out-File, > , >>)
2.6.10 Sortörés kezelése szövegfájlokban
2.6.11 Fájl hozzáférési listája (get-acl,
set-acl)
2.6.11.2 Fájlok tulajdonosának módosítása
2.6.11.3 Öröklődés ellenőrzése, beállítása
2.6.11.4 Security Access Control List
(SACL) kezelése
2.6.12 Ideiglenes fájlok létrehozása
2.6.13 Megosztások és webmappák elérése
2.6.13.1 Megosztások hozzáférésének
szabályozása
2.6.15 Kivonatok készítése fájlokhoz
(Filehash)
2.6.16 Alternate Data Streams és blokkolt
fájlok
2.6.17 Tömörített állományok kezelése
2.7 Az Eseménynapló feldolgozása
2.7.1 Hagyományos eseménynaplók kezelése
(Get-EventLog)
2.7.2 Az új alkalmazás- és
szolgáltatásnaplók kezelése (Get-WinEvent)
2.7.2.1 Fejlett eseménynapló lekérdezések
XML-lel
2.7.2.2 Szolgáltatásnaplók bekapcsolása
2.7.3 Távoli gépek eseménynaplóinak
megtekintése
2.7.4 Eseménynaplóval kapcsolatos egyéb
műveletek
2.8.2 Registry elemek létrehozása,
módosítása
2.8.3 Hogyan tudunk más felhasználók
registry ágához hozzáférni?
2.8.4 Registry „igazi” kiolvasása
2.8.5 Registry elemek hozzáférési
listájának kiolvasása
2.10 Számítógépek és a hálózati
kapcsolatok cmdletei
2.11 Biztonságos szövegek (SecureString)
2.12.1 Tanítsuk meg a PowerShellt szöveget
értelmezni! (ConvertFrom-String)
2.13 Az információs adatfolyam
(Write-Information)
2.14 Helyreállítási pontok kezelése
2.15 WMI, processzek,
rendszerszolgáltatások
2.15.1 WMI objektumok elérése
PowerShell-ből
2.15.2.1 Ki indította a folyamatot?
2.15.2.2 Folyamatok szelíd és erőszakos
megszakítása
2.15.2.3 Folyamatok futtatása emelt szintű
jogosultságokkal
2.15.2.4 Processzek futtatása szinkron
módon, kimenetek rögzítése
2.15.3.1 Szolgáltatások Startup
tulajdonsága
2.15.4 WMI objektumok metódusainak
meghívása (Invoke-WMIMethod)
2.15.7 Fontosabb WMI osztályok
2.15.8 Új WMI osztály létrehozása
2.16 A CIM cmdletek és CIM objektumok
kezelése
2.16.3 CIM cmdletek futtatása távoli
gépekre
2.17.1 Számlálók kiolvasása (Get-Counter)
2.17.2 Több példánnyal rendelkező számlálók
kezelése
2.17.3 Gyűjtött adatok fájlba írása és
visszatöltése (Export-Counter, Import-Counter)
2.18 Parancssori eszközök integrálása
PowerShellbe
2.19.2 Keresés egyéb paraméterei
2.19.6 Információk az AD erdőről,
tartományról, tartományvezérlőkről
2.19.7 Az AD Schema vizsgálata
2.19.8 Egyéb műveletek AD objektumokkal
2.20 Active Directory kezelése a Quest AD
Active Roles Management Snapin segítségével
2.20.2 Kapcsolódás tartományvezérlőkhöz
2.20.4 AD jogosultságok kezelése
2.21 Active Directory kezelése AD modul és
snapin nélkül
2.21.1 Active Directory információk
lekérdezése
2.21.2 Csatlakozás az Active Directory-hoz
2.21.3 AD objektumok létrehozása
2.21.4 AD objektumok tulajdonságainak
kiolvasása, módosítása
2.21.4.1 Munka többértékű (multivalued)
attribútumokkal
2.21.4.2 Speciális tulajdonságok kezelése
2.21.7.1 Keresés idő típusú adatokra
2.21.9 AD objektumok hozzáférési
listájának kezelése
2.21.10 Összetett feladat ADSI
műveletekkel
2.21.11 Nagy csoporttagságú csoport
tagjainak lekérdezése
2.21.12 Belépési adatok ellenőrzése
2.21.13 AD objektumok kezelése LDAP
osztályokkal
2.22 Helyi csoportok és felhasználók
kezelése
2.22.1 Helyi fiókok kezelése beépített
cmdletekkel
2.22.2 Helyi fiókok kezelése ADSI-val
2.22.3 Helyi fiókok kezelése a
LocalAccounts modullal
2.24 Távoli futtatási környezet testre
szabása
2.24.1 Parancskészlet szűkítése
2.24.2 Szűkített környezet beállítása és
detektálása
2.24.3 Távoli futtatási környezet testre
szabása távolról
2.24.4 Távoli futtatási környezet
futtatása speciális fiók nevében
2.25 .NET Framework hasznos osztályai
2.25.2 Környezet ([environment])
2.25.5 Felhasználói információk
2.25.8 Fájl-fogantyúk és tetszőleges
méretű fájl létrehozása ([io.file])
2.25.9 Elérési utak ([system.io.path])
2.25.10 Adatfolyamok kezelése
([FileStream], [MemoryStream])
2.25.11 Web tanúsítványának ellenőrzése
távolról
2.25.12 Hash készítése szövegből
2.27.2 Keresés az XML adatok között
(Select-XML és az XPath)
2.27.3 XML csomópontok módosítása
2.29.1 A Windows shell kezelése
2.29.2 WScript osztály használata
2.29.4 Csatlakozás már megnyitott COM
alkalmazásokhoz
2.30 Win32 API hívások, PInvoke
2.30.1 Első példa részletesen: ablakok
elrejtése és visszaállítása
2.31 Esemény-vezérelt futtatás
2.32.3 Univerzális párhuzamosító függvény
2.33 Metaprogramming, szkriptek elemzése,
feldolgozása
2.33.1 Szkriptblokk létrehozása
futásidőben
2.33.2 Szkriptek elemzése - tokenizer
2.33.3 Absztrakt szintaxis fa - AST
3.1 Keresések, összehasonlítások,
táblázatba rendezés
3.1.1 Keresés a tulajdonságok között
(Search-Property)
3.1.2 Két objektum tulajdonságainak
összehasonlítása (Compare-ObjectProperty)
3.1.3 Keresés a szkriptek között
(Search-Script)
3.2 Konfigurációs adatok tárolása
3.2.1 Hagyományos konfigurációs állományok
3.2.3 PSD1 adatfájlok dinamikus adatainak
feloldása
3.2.4 Feltételes konfigurációs adatok
3.2.5 Több konfigurációs fájl használata
3.3.1 A naplózó modul függvényei
3.4 Praktikus függvények több területről
3.4.1 Jelszó létrehozása
(GenerateComplexPassword)
3.4.2 Fájlok és mappák megjelenítése
fastruktúrában
4.1.2 A munkafolyamatok automatikus
paraméterei
4.1.3 Tevékenységek paraméterei
4.1.4 Tevékenységek párhuzamos és soros
végrehajtása
4.1.5 Workflow felfüggesztése és
újraindítása
4.1.6 A visszaállíthatóság háttere
4.1.7 Gépek újraindítása workflow-val
4.1.8 A PowerShell workflow az nem
teljesen PowerShell szkript
4.2 A Microsoft Azure automatizálása
PowerShellel
4.2.1 A Microsoft Azure előfizetés elérése
4.2.4 Virtuális gép létrehozása Azure-ban
4.3 Desired State Configuration
4.3.1 DSC komponensek és alapfogalmak
4.3.3 A konfiguráció futtatása, a MOF fájl
tartalma
4.3.4 A konfiguráció végrehajtása
4.3.5 A konfiguráció ellenőrzése
4.3.6 A konfiguráció visszavonása,
paraméteres konfigurációk
4.3.7 Függőségek beállítása erőforrások
között
4.3.8 Node-ok megadása, paraméteres
konfigurációk
4.3.9 Környezeti konfigurációs adatok
tárolása különálló fájlban
4.3.10 Összetett konfigurációs adatok és
konfigurációk
4.3.12 Egyéni erőforrások létrehozása
4.3.12.1 Szkript-alapú egyéni erőforrások
4.3.12.2 Osztály-alapú egyéni erőforrások
4.3.13 Újraindítást igénylő erőforrások
4.4 PowerShell Web Access és web service
5.1.5 Példányváltozó, példánymetódus
5.1.6 Statikus változó, statikus metódus
5.2 Mi is az a .NET keretrendszer
5.2.1 Futtatókörnyezet (Common Language
Runtime, CLR)
5.2.2 Class Library (osztálykönyvtár)
5.2.6 Assemblyk (kódkészletek)
5.2.7 Érték- és referenciatípusok
5.3.5 A legfontosabb providerek
5.6.3 PowerShell 3.0 (béta) linkek