S z á m í t ó g é p e s a l a p i s m e r e t e k 9. előadás
Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Shell script I., II, III Parancsok, szűrők, sed, awk
Ami ma következik Windows kiszolgáló Szolgáltatások Műveletek automatizálása Batch parancsok Batch hiányosságok PowerShell
Windows kiszolgáló Alap szolgáltatások Fájl szerver Nyomtató megosztás Web szerver Active Directory Terminál szolgáltatás Telnet, FTP CA, DHCP, DNS, VPN, stb.
Windows szolgáltatások Kapcsolódás a kiszolgálóhoz Telnet alapból nem használható MS Terminál Szolgáltatás mstsc Adminisztrációs lehetőségek Szerver szolgáltatások installálása Adminisztrációs eszközök Biztonsági megfontolások
Kapcsolódás egy kiszolgálóhoz Terminál szolgáltatások Adminisztrációs céllal alap Start-Futtatás-mstsc
Adminisztrációs lehetőségek Programok hozzáadása-eltávolítása Start- Eszköztár Programok hozzáadása- Windows összetevők
Adminisztrációs eszközök
Biztonsági megfontolások Szerveren nem internetezünk Szerveren lehetőleg csak szolgáltatásokat menedzselünk! Biztonsági frissítések automatikus, vagy gyakori kézi installálása Tűzfal használat Vírusirtó??
MS Windows Defender
Felhasználó adminisztráció I. Helyi gépen: Computer Management
Felhasználó adminisztráció II. Tartomány Domain Active Directory
Mire való a script? Adminisztráció megkönnyítésére Shell script UNIX, Linux operációs rendszer alatt Mi van MS Windows alatt? Batch program (alapok) Windows Scripting Host (VB Script alapú) PowerShell
Batch alapok Szöveges parancsok Fájlnév kiterjesztés:.bat Megjegyzés: rem Fő feladata: Parancsok összegyűjtése és indítása egy parancs a batch parancs segítségével. echo utasítás call masik.bat
Batch változók, paraméterek Kis-nagybetű azonos! Változó definiálás: set a=5 Összes változó kiírása: set Változó értéke: %név%, Pl: %a% path parancs, %path% változó prompt utasítás %1, %9 a batch paraméterei %0 a batch program neve shift parancs, balra tolja a paramétereket
Batch vezérlési szerkezetek Címke deefiniálás: :cimke1 Ugrás egy cimkére: goto cimke1 Elágazás: if [not] feltétel utasítás if errorlevel 5 goto ot Igaz, ha az előző parancs visszatérési értéke nagyobb vagy egyenlő mint 5!! if %a%== 5 goto 5 if exist fájlnév goto hat Ciklus: for %%változó in (lista) do (utasítás)
Batch ciklus példa Hasonlít a shell script for ciklusához XP-ben /f kapcsoló rem for ciklus példa rem ne írja ki a parancsokat @echo off rem %%név formát kell használni!!! for %%i in (alma korte) do ( echo %%i ) rem egy file sorainak első szavait vegyük for /f %%j in (alma.txt) do ( echo %%j )
PowerShell A Microsoft új generációs script nyelve Batch, VBS, WSH utód Ingyenes, jelenleg utólag kell installálni XP, Vista alá, a WS 2008 része Letölthető: http://www.microsoft.com/windowsserver20 03/technologies/management/powershell/def ault.mspx Jelenlegi verzió: 1.0
Powershell Install.NET FrameWork 2.0 szükséges Start- Programok- Windows Powershell 1.0 programcsoport Dokumentációs anyagok (ajánlott) PowerShell 1.0 Documentation Pack A parancs egy cmd (command.com) hoz hasonló karakteres ablakként jelenik meg!
Mire jó a PowerShell? Mint a shell script! Elsősorban menedzsment célra Hivatalos MS tanfolyam: Course 6434A Automating Windows Server 2008 Administration with Windows PowerShell Windows Szerver 2008-hoz nem kell letölteni, az operációs rendszer része, de utólag kell hozzáadni!
P o w e r S h e l l Remote Agent Host Console Host Rich Rich GUI Rich GUI Hosts GUI Hosts Hosts A r c h i t e c t ú r a SOAP/HTTP DIME/TCP.NET WMI Base Cmdlets Parser Platform Cmdlets Runtime Environment Tools Host Cmdlets Script Execution Engine Automation Authors Third Parties Automation Cmdlets Audit Log Third Third Party Third Party Party Extended Type System Type Annotation & Extension Third Third Party Third Party Party I l l é s Z o l t á n E21 L T E I K ADO
PS parancsok formája Két nagy család: Get-parancs Set-parancs PS parancs : commandlets- cmdlets Több mint 130 beépített parancs. Hagyományos parancsok (echo) is használhatók! A Tab billentyű kiegészíti a parancsot Megjegyzés: # Kis-nagybetűre nem érzékeny
Első PS script- futtatási jog beállítása Kiterjesztés:.ps1 Jegyzettömb-höz van rendelve Get-ExecutionPolicy Restricted, nem engedi futtatni a scripteket, ez az alapértelmezés Set-ExecutionPolicy Remotesigned vagy unrestricted Remotesigned: Internetről letöltött állományok esetén csak akkor futtatja, ha megbízható partner írta alá.
Első PS script Parancs futtatás, teljes útvonal beírásával # Megjegyzés echo Szia! # Write-Host "Hajrá Fradi!"
PowerShell script futtatása 1. Set-ExecutionPolicy 2. Teljes útvonal megadása a parancsnak Ez gyakran:.\parancsnév formában Ritkábban: c:\home\alma.ps1 alakban 3. Ha helyköz van egy könyvtárban, akkor az & jelet írjuk a parancs elé, és között legyen a parancs. & c:\alma fa\jonatán.ps1 4. CMD-ből: powershell noexit c:\elso.ps1
PowerShell parancssor Ha konstanst írunk, azt az értelmező próbálja egy típushoz illeszteni. Ha mást nem mondunk, az alap művelet: write-host PS C:\Users\illes> fradi The term 'fradi' is not recognized as a cmd in. At line:1 char:5 + fradi <<<< PS C:\Users\illes> "fradi" fradi PS C:\Users\illes> 5 5 PS C:\Users\illes> 'F' F PS C:\Users\illes> F The term 'F' is not recognized as a cmdlet, At line:1char:1 + F <<<<
A PowerShell objektumorientált get-date eredmény: 2009. november x Pipeline: get-date get-member A get-date objektum a get-member bemenetére kerül majd az objektum mezőit kapjuk. -inputobject paraméter sok cmdlet-nél él fradi get-member get-date get-member membertype method get-date metódusait kapjuk meg, hasonlóan property-t, tulajdonságokat is lekérhetünk. (get-date).month, day, ticks
.NET, COM, WMI Objektumok PowerShell a.net-et nativ módon használja. COM, WMI objektumokat is közvetlenül elér..net Object COM Object WMI Object Get-Member Cmdlet I l l é s Z o l t á n E28 L T E I K
Alap PowerShell parancsok alias, kiírja a definiált rövidítéseket Unix-hoz hasonló parancsok gcm Get-Command, kiírja parancsokat echo Write-Host, képernyőre írás Get-Help rövid leírás parancsokról Get-Help full Write-Host set-alias gh get-help dir, ls Get-ChildItem, könyvtár tartalom ps Get-Process, futó processzek kiírása Sleep Start-Sleep, várakozás
PowerShell parancsok, paraméterek PowerShell parancs felépítés: Ige-főnév PL: Get-Command Paraméterek megadása jellemzően: -név érték Érték lehet: szám, szöveg, dátum Pl: Get-Command Verb write History F7 előző parancsok felfelenyíl, előző parancs Profile:Dokumentumok\WindowsPowerShell könyvtárban: Microsoft.PowerShell_profile.ps1
PowerShell változók $név=érték, kötelező a $ jel a definiáláskor is Pl: $f= fradi ; echo $f egy sorba több parancs írható, ; az elválasztó Támogatott típusok: Adattípus Értelmezése Példa [int] Egész szám -273, -1, 0, 10, 42 [byte] 8-bit, bájt 0, 1,, 254, 255 [boolean] Logikai $false, $true [char] Karakter a, b, c, 1, 2, 3,!, # [string] Szöveg hello, world [datetime] Idő April 1, 2008
PowerShell változók használata Ha nem jelölünk semmit, az értelmező eldönti a típusát. $d=6.2e-4; echo $d # 0,00062, valós lesz Magunk is megadhatjuk (típuskényszerítés): [int] $d=6.2e-4; echo $d # 0, $d egész lesz $s= [string] 65; echo $s # 65 szövegként $s1=[string] [char] 65; echo $s1 # A $i=[int] 65 ; echo $i # 65 szövegként
PowerShell változók definiálása parancs segítségével Set-Variable Name alma value jonatán option constant Konstans definiálás Egy leírás adható a description paraméterrel Get-Variable alma Clear-Variable alma # alma létezik, csak tartalma nincs. Remove-Variable alma # alma nem létezik
Aritmetikai műveletek PowerShell-ben +,-,*,/,% (maradék)- alapműveletek Nem kell külön parancsot, mint pl. az expr! $a= 32*3; echo $a # 96 $a= alma ; $f= fa ; $c=$a + $f; echo $c #almafa $a= 125 + 2 ; echo $a # 1252! $a= 12 + 4 ; echo $a # 16 automatikusan konvertálja a 4 -et Értékadások: =, +=, -=, *=, /=, %= Post növelés, csökkenés: $a++, $b--
Még több művelet A PowerShell mögött a.net FrameWork áll. Az összes típus, double, decimal stb. elérhető Nem csak alaptípusok Példa: [System.IO.DirectoryInfo]$home=Get- Item D:\home Teljes Math osztály is rendelkezésre áll [math]::pi [math]::sin(2), Stb. Konverzió: [system.convert]::toint32( 32 ) Stb.,.Net FrameWork könyvtár használat
K ö s z ö n ö m a f i g y e l m e t! I l l é s Z o l t á n E36 L T E I K