Számalk Oktatási és Informatikai Zrt.
Cím: 1118 Budapest, Dayka Gábor u. 3.
E-mail: training##kukac##szamalk.hu
Telefon: +36 1 491 8974
A tanfolyam során a hallgatók megismerkednek a PowerShell haladó lehetőségeivel, a nyelv architektúrájával és kialakításának szempontjaival, valamint áttekintik a PowerShelles eszközkészletek készítésének/hibakeresésének/és tesztelésének eszközeit. Választ kapnak a következő típusú kérdésekre:
- Hogyan írjak áttekinthető kódot?
- Hogyan lesz "spagetti kód"-ból rendezett áttekinthető eszközmodul?
- Hogyan lesznek a szkriptjeim és moduljaim jól újrahasznosíthatóak?
- Hogyan naplózzam a szkriptem/modulom futását?
- Hogyan legyen hibatűrő a kódom?
- Milyen eszközökkel tudom tesztelni a megírt kódomat?
Tanfolyamunk résztvevői olyan tudásanyag birtokába jutnak melyek lehetővé teszik számukra, hogy a PowerShell haladó lehetőségeit napi munkájuk során használják, illetve képessé válnak rendezett, moduláris felépítésű automatizációs eszközök fejlesztésére..
Microsoft Windows felhasználói ismeretek, gyakorlat a Microsoft termékek és az Internet használatában. Haladó szintű PowerShell tudásanyag (.NET felépítése, WMI használata, függvény, szkript, szkriptmodul készítése) ismeret.
Infrastruktúra üzemeltetőknek, akiknek feladatai közé tartozik a Microsoft Windows Server alapú hálózat napi működtetése.
1. Az alapok
1.1. Powershell architektúra
1.2. Segédprogramok
1.3. A .NET keretrendszer alapjai
1.3.1. Objektum-orientáltság
1.3.2. Osztályok és gyűjtemények
1.3.3. A CLR és a Class Library
1.3.4. Statikus metódusok
1.4. COM objektumok használata
1.5. WMI kezelés Powershellből
1.1. Változók
1.2. Type accelerators
1.5. Saját PS Objektum létrehozása
1.6. Új típus létrehozása
1.7. Új osztály létrehozása
1.8. Objektumtípusok lekérdezése
2. PowerShell programozási stílus
2.1. Programozói szemlélet
2.1.1. Eredmények változóba mentése
2.1.2. Vezérlési szerkezetek használata
2.1.3. Kötelező változódeklaráció
2.2. Autamatizációs szemlélet
2.2.1. Csővezeték használat
2.2.2. Beépített cmdlet-ek használata
2.2.3. Implicit konverziók engedélyezése
3. Függvénytárak és modulok
3.1. Modultervezés
3.1.1. Függvénytárak helyett modulok
3.1.2. Beágyazott modulok
3.1.3. Meglévő (rendszer vagy közösségi) modulfunkciók beépítése és használata
4. Függvények és modulok optimalizálása
4.1. Függvénytervezés
4.1.1. Algoritmizálás, folyamatdefiniálás
4.1.2. Általánosítás paraméterezéssel
4.1.3. Ismétlődő algoritmuselemek kiemelése
4.1.4. Modul vs. függvényváltozók
4.1.5. Parancssori vs. csőparaméterek
4.1.6. Paraméterkészletek és dinamikus paraméterek
4.1.7. Parméterek ellenőrzése, kötelezővé tétele
4.1.8. Proxy függvények
4.1.9. Függvénykonfiguráció
4.1.9.1. Változóban
4.1.9.2. Konfigurációs állományban
4.1.9.3. Rendszerleíró adatbázisban
4.1.10 Függvény visszatérési érték meghatározása
4.2. Kódmegjegyzések
4.2.1. Mikor kötelező?
4.2.2. Függvénykommentek
4.2.3. Modulkommentek és Súgó
4.3. Moduloptimalizálás
4.3.1. Modulblokkok(konfigurációs, változó, függvény, alias) kialakítása
4.3.2. Függvények sorrendjének meghatározása
4.4. Újrahasznosítás
4.4.1. Függvények újrahasznosítása: core modulok tervezése
4.4.2. Osztályok kialakítása
4.4.3. Modulok, mint osztályok
5. Olvasható kód készítése
5.1. Változók és függvények elnevezése
5.1.1. Elnevezési konvenciók (ige-főnév, előtagok)
5.2. Behúzások és sortörések
5.3. Aliasok és rövidítések kiemelése
5.4. Kódblokkok jelzése
5.5. Parancssori súgó használata kötelező paramétereknél
6. Hibakezelés
6.1. Trap
6.2. Try...Catch...Finally
6.3. Debugging parancssorból
6.4. Error objektum használata hibakezelési rutin paramétereként
6.5. Throw
6.6. Hibaüzenetek kialakításának szempontjai
7. Naplózás
7.1. Naplózás fájlba
7.1.1. Átirányítással
7.1.2. Hibakezelő rutin részeként
7.2. Naplózás az eseménynaplóba
7.2.1. Saját eseményszolgáltató regisztrálása
7.2.2. Naplózás a Windows PowerShell naplóba
7.2.3. Naplózás saját naplóba
8. Biztonság
8.1. Scriptblock Logging
8.2. Szkriptek aláírása
8.3. Szenzitív információk eltávolítása a kódból
8.3.1. A PSCredential objektum
8.3.2. Szenzitív információk tárolása titkosítva
8.4. Paraméterbiztonság
8.4.1. Hatókörök és privát változók
8.4.2. Típusos paraméterek
9. Tesztek készítése
9.1. A Pester modul
9.1.1- Tesztek készítése és futtatása
9.1.2. Teszteredmények értelmezése
9.2. A PSScriptAnalyzer
10. Teljesítményoptimalizálás
10.1. A Measure-Command használata
10.2. ArrayList vagy GenericList .NET osztály használata
10.3. Reguláris kifejezés használata több karakterláncérték kereséséhez
10.4. Csővezeték kiváltása
10.5. A .foreach() és .where() metódusok használata
10.6. Párhuzamos feldolgozás használata
10.7 A .NET StreamReader osztály
11. Tippek-trükkök
11.1. Multiplatformos szkriptek írása
11.2. Ütemezett vs. interaktív szkriptek
11.3. Kimenet formázási útmutató
11.4. GUI helyett: Show-Command/OutGridView
11.5. Folyamatjelzők használata