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.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 édemes ezeket a metódusokat
használni?
1.9.4 Tulajdonságok és metódusok dinamukus
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 testreszabá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.6 Függvényeink óvatos végrehajtása
(-WhatIf)
2.5.7 Meglevő cmdletek kiegészítése,
átalakítása
2.5.8 A $ExecutionContext változó
2.5.9.1 Dinamikus paraméter létrehozása
függvényben
2.5.9.2 Dinamikus paraméter dinamikus
értékhalmazzal
2.5.10 Paraméterek vizsgálata megszakítás
közben
2.5.12 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 redelkező 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
testreszabása távolról
2.24.4 Távoli futtatási környzet 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.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.2 A munkafolyamatok automatikus
paraméterei
3.1.3 Tevékenységek paraméterei
3.1.4 Tevékenységek párhuzamos és soros
végrehajtása
3.1.5 Workflow felfüggesztése és
újraindítása
3.1.6 A visszaállíthatóság háttere
3.1.7 Gépek újraindítása workflow-val
3.1.8 A PowerShell workflow az nem teljesen
PowerShell szkript
3.2 A Microsoft Azure automatizálása
PowerShellel
3.2.1 A Microsoft Azure előfizetés elérése
3.2.4 Virtuális gép létrehozása Azure-ban
3.3 Desired State Configuration
3.3.1 DSC komponensek és alapfogalmak
3.3.3 A konfiguráció futtatása, a MOF fájl
tartalma
3.3.4 A konfiguráció végrehajtása
3.3.5 A konfiguráció ellenőrzése
3.3.6 A konfiguráció visszavonása,
paraméteres konfigurációk
3.3.7 Függőségek beállítása erőforrások
között
3.3.8 Node-ok megadása, paraméteres
konfigurációk
3.3.9 Környezeti konfigurációs adatok
tárolása különálló fájlban
3.3.10 Összetett konfigurációs adatok és
konfigurációk
3.3.12 Egyéni erőforrások létrehozása
3.3.12.1 Szkript-alapú egyéni erőforrások
3.3.12.2 Osztály-alapú egyéni erőforrások
3.3.13 Újraindítást igénylő erőforrások
3.4 PowerShell Web Access és web service
4.1.5 Példányváltozó, példánymetódus
4.1.6 Statikus változó, statikus metódus
4.2 Mi is az a .NET keretrendszer
4.2.1 Futtatókörnyezet (Common Language
Runtime, CLR)
4.2.2 Class Library (osztálykönyvtár)
4.2.6 Assemblyk (kódkészletek)
4.2.7 Érték- és referenciatípusok
4.3.5 A legfontosabb providerek
4.6.3 PowerShell 3.0 (béta) linkek