Windows hálózati adminisztráció 8. Göcs László főiskolai tanársegéd NJE-MIK GAMF Informatika Tanszék 2018-19. tanév tavaszi félév
NYOMTATÓK MEGOSZTÁSA
Megosztott nyomtatókhoz kapcsolódó standard engedélyek Nyomtatás: dokumentumok nyomtatása. Saját dokumentumok nyomtatásának megállítása, újraindítása, törlése valamint nyomtatási jellemzők beállítása. Dokumentumok kezelése: a nyomtatási sorban levő dokumentumok nyomtatásának megállítása, újraindítása, mozgatása és törlése Nyomtatókezelés: nyomtató megosztása, eltávolítása, tulajdonságainak megváltoztatása. Leállítás és újraindítás.
Megosztott nyomtatókhoz kapcsolódó standard engedélyek A jogosultsági listába automatikusan bekerül a Mindenki csoport Nyomtatás engedéllyel Rendszergazdák csoport az összes engedéllyel
Speciális engedélyek Nyomtatás Dokumentumok kezelése Nyomtató kezelés Nyomtatás X X Nyomtató kezelés X Dokumentumok kezelése Engedélyek olvasása X X X X Engedélyek módosítása Saját tulajdonba vétel X X X X
Nyomtató megosztása grafikus felületen
Automatikusan kapott engedélyek
Internet Information Services (IIS)
IIS A Microsoft által írt, Microsoft Windows-platformon futó internet-alapú szolgáltatásokat összefogó termék neve. A világ második legnépszerűbb webkiszolgálója (a weboldalak száma alapján) az Apache HTTP Server után.
IIS Az IIS által nyújtott szolgáltatások közé tartozik FTP FTPS SMTP NNTP HTTP HTTPS. Az IIS több Microsoft-termék telepítésének előfeltétele, ilyen a WSUS Microsoft Exchange Sharepoint.
IIS verziók IIS 7.0 Windows Server 2008 és Windows Vista (Home Premium, Business, Enterprise, Ultimate Editions) IIS 7.5 Windows Server 2008 R2 és Windows 7 IIS 8.0 Windows Server 2012 és Windows 8
IIS 8.0 Az IIS 8.0 újdonságai közé tartozik a weboldalankénti CPU-használati kvóták bevezetése alkalmazás-inicializálás (Application Initialization) központi SSL-tanúsítványkezelés NUMA hardveren sok processzormagos skálázhatóság.
IIS
FTP (File Transfer Protocol) Az Internet klasszikus fájlátviteli protokollja, amely adatállományok két gép közötti kétirányú átvitelét teszi lehetővé. Az FTP a klasszikus szerver-kliens modell alapján működik, bár a fájlok átvitelét mindkét irányban (a kapcsolatot kezdeményező kliensről a szerverre, illetve visszafelé, a szerverről a kliens irányába) is lehetővé teszi.
FTP Az FTP az átvitelre két külön csatornát alkalmaz. Ezek közül az első a parancs-csatorna, amelyet mindig a kliens épít fel a szerver felé az FTP-menet megkezdésekor, és amelyen keresztül a kéréseit annak elküldi, illetve az azokra adott állapotkódat és hibaüzeneteket visszakapja.
FTP Ezen kívül a fájlok átvitele során a szerver a kliens kérésére annak irányába egy másik ún. adat-csatornát is felépít, amelyen keresztül a fájl tartalmát küldi el részére. A szerver minden egyes fájl átviteléhez külön adat-csatornát nyit, amelyet annak befejeztével mindig le is zár. Az FTP használatára az URL-ekben az 'ftp://' protokoll-azonosító utal.
SMTP Az SMTP a Simple Mail Transfer Protocol rövidítése. Ez egy kommunikációs protokoll az e-mailek Interneten történő továbbítására. Az SMTP egy viszonylag egyszerű, szöveg alapú protokoll, ahol egy üzenetnek egy vagy több címzettje is lehet. Az SMTP szolgáltatás a TCP (Transmission Control Protocol) 25-ös portját használja. Ahhoz, hogy meghatározza, hogy az adott domain névhez melyik SMTP szerver tartozik, a Domain név MX (Mail exchange) rekordját használja. Ez a domain DNS rekordjai között szerepel.
Power Shell
alapok Azok a felhasználók (Magukat Igazi Programozóknak nevezik) akik igazán egy Unix-terminál előtt ülve érzik magukat elemükben, a Windows rendszereken kényelmetlenül mozogtak. Nem igazán volt számukra igazi alternatíva. Mi is volt? Command Prompt kicsit régi, kicsit nehézkes, kicsit korlátolt Windows Scripting Hosting (WSH) egész jó, hisz a COM objektumok egész sok és sokféle problémára nyújtanak megfelelő megoldást. De a WSH is korlátolt az interaktivitás területén.
alapok Mi lehet a megoldás? Adott a Microsoft.NET framework, amely rengeteg problémára nyújt megoldást, de a keretrendszer által készített programokat le kell fordítani, hiszen csak programozók használják. De a fejlesztők úgy gondolták, hogy ki kellene aknázni a keretrendszer által nyújtott lehetőségeket a rendszergazdáknak is.
Indítása powershell parancs kiadásával A PowerShellkörnyezetében többféle parancs stílust is használhatunk: Hagyományos DOS belső parancsok (pl. DIR) Unix-os parancsok (pl. ls) PowerShell saját parancsai, az ún. Cmdlet-ek(pl. Get- ChildItem) Szabványos Windows futtatható programok A DOS és a Unix parancsok valójában alias-ok a PowerShellsaját parancsaira (Cmdlet)
Cmdlet A PowerShellsaját parancsai Leírásuk minden esetben ige-főnév formájú Pl. Get-ChildItemvagy Get-Process Get-Helpget-*, Get-Help Get-Process -example A parancs paramétereinek neve kötött A parancs kimenete nem sima szöveg, hanem objektum! A parancsok összefűzhetők (kompozit parancsok)
Parancsok összefűzése Ránézésre hasonló, mint a hagyományos parancssor: dir find ARIS Szöveg helyett azonban objektumok közlekednek > Get-ChildItem where-object { $_.Length -ge1000 } Ami akár tovább is láncolható > Get-ChildItem where-object { $_.Length -ge1000 } Sort-Object-propertyLength Melyek az egyes objektumok tulajdonságai? > Get-ChildItem get-member
Változók A változók neve $jellel kezdődik A változókat nem kell deklarálni A változó értéke a név megadásával lekérhető >$most=get-date >$most A változók objektumokat tárolnak >$megint=get-date >$elteres=$megint-$most >$elteres
Szöveges változók (System.String) Karekterlánc típusú, értékadáskor a szöveget aposztrófok vagy idézőjelek között kell megadni >$t= alma Ez is objektum! A karakterlánc metódusai és tulajdonságai: >$t Get-Member -> (lista) >$t.length -> 4 >$t.toupper() -> ALMA >$t.replace( al, fel ) -> felma
Fontosabb karakterlánc műveletek
Operátor Leírás Kis-nagybetű érzékeny operátor Leírás -eq egyenlő -ceq egyenlő -ne nem egyenlő -cne nem egyenlő -gt nagyobb -cgt nagyobb -ge nagyobb egyenlő -cge nagyobb egyenlő -lt kisebb -clt kisebb -le kisebb egyenlő -cle kisebb egyenlő
Objektumok kezelése Bejárás: ForEach-Object > Get-ChildItem ForEach-Object { $sum+=$_.length } Szűrés: Where-Object > Get-ChildItem Where-Object { $_.Length ge1000 } Rendezés: Sort-Object > Get-ChildItem Sort-Object-property Length
Objektumok kezelése Kiválasztás: Select-Object > Get-ChildItem Sort-Object-propertyLength Select-Object First 5 > "a","c","b","a","b","d","e" select-object -Unique Csoportosítás: Group-Object > Get-ChildItem Group-Object Extension
Eredményül kapott listák szűrése Könyvtárak listázása Get-Childitem Where-Object { $_.PsIsContainer} Leállított szolgáltatások listázása Get-Service Where-Object { $_.Status eq Stopped } Adott nevű folyamatok listázása Get-Process Where-Object { $_.Name like *svchost* }
Vezérlési szerkezetek If(<feltétel>) { <then ág> } else { <else ág> } >$a=12 >if ($a lt20) { Kicsi } else { Nagy } -> Kicsi >$a=42 >if ($a lt20) { Kicsi } else { Nagy } -> Nagy For(<kezdő>;<feltétel>;<lépés>) {<ciklusmag>} >for($b=1; $b lt8; $b++ ) { $b } -> 1..7
Fájl és mappa műveletek munkakönyvtár kiíratása (get-location).path vagy $pwd Könyvtár létrehozása create-item type directory alma vagy mdalma Fájl vagy könyvtár létezésének ellenőrzése test-path alma Fájl vagy könyvtár törlése remove-item alma
Fájl és mappa műveletek Fájl vagy könyvtár átnevezése rename-item alma barack Fájl vagy könyvtár másolása, mozgatása copy-item barack citrom move-item citrom eper Hozzáférési jogok lekérése get-acl citrom
Összes újabb MS szerver Exchange, SQL Server, System Center Operations Manager, System Center VMM, IIS Fejlesztő környezet: Visual Studio 2010: PowerConsole VMware: PowerCLI teljes virtualizációs környezet automatizálása
Elindulás Powershell 2.0 letöltése Windows Management Framework kiegészítés része Windows 7-en fent van, de elérhető XP-re is PowerGUI GUI szerkesztő, debugger
help Mint látjuk a rendszer teljesen önleíró. Láthatjuk a parancsokat, aliasaokat.
help Get-ChildItem Ekkor megkapunk minden információt az adott parancsról.
help Get-ChildItem example Ekkor példa scripeteket kapunk bőséges leírással
ALIAS Ki lehet listázni az úgynevezett aliasokat.
ALIAS Amint látjuk, hogy a régi DOS-os parancsoknak megtalálhatóak a PowerShellbeli megfelelői. PÉLDÁUL: a DIR parancs nem más, mint a Get-ChildItem. De meglehet találni néhány Linuxos parancsot is Például az ls t.
csővezetés A futtatott parancsokat egymáshoz lehet csatolni a pipe karakter segítségével. Ami annyit tesz, hogy a parancs eredményét nem az outputra borítja, hanem a következő lépésnek adja oda a végrehajtási sorban.
csővezetés Ki írjuk a futó processzek listájából az első 6 elemet.
változók A PowerShellben természetesen lehet használni változókat is. Jelölésük: $valtozonev A változóknak tudunk értéket adni, valamint akár egy teljes parancs eredményét eltárolhatjuk a változóban. Például.: $x = get-childitem
változók Ekkor az x változóban el lesz tárolva a Get-ChildItem eredménye. Ahhoz, hogy a változóból kinyerjük az értéket egyszerűen írjuk be a parancssorba a változó nevét: $x, és a képernyőn megjelenik a benne tárolt érték.
változók Természetesen a változóknál is lehet a csővezetést alkalmazni. PÉLDÁUL: $x select-object first 3
get-member Segítségével megtudhatjuk hogy egy-egy parancs milyen.net objektumokat használ, és hogy milyen propertyei és metódusai vannak.
Get-ChildItem Get-Member Láthatjuk, hogy az adott cmdlet melyik névteret használja, vagy épp mely metódusokat és propertyket.
Get-PsDriver Ez a parancs megmutatja a PowerShell driveokat. Mint látható nem csak meghajtókon tudunk járkálni, hanem a registryben, vagy épp a tanúsítványtárban, de akár a környezeti változókat is piszkálhatjuk.
PowerShell üzemmódok Parancs üzemmód: Ha parancsot írok, ami betűvel kezdődik és megtalálja a parancskészletében, Például a DIR parancs akkor az adott parancs értelemszerűen végrehajtódik. Kiértékelő üzemmód: Ha viszont olyat adok meg, amit nem fedez föl a parancskészletében, de kitudja értékelni akkor a kiértékelő üzemmódba vált át.
PÉLDÁUL: írjuk be, hogy 1,2,3,4,5 Ez a PowerShell számára egy halmaz definícó volt, amit úgy értékelt ki, hogy kiírta őket a képernyőre. Mint láttuk a PowerShell nem írta ki, hogy bad command or filename köszönhető ez a kiértékelő üzemmódnak.
Írjuk be, 1MB A válasz: 1048576 byte. Ebből is látszik mennyire informatikus közeli ez az új parancssor.
Oszlopok szerinti szűrés (select-object) get-childitem select-object property name, length csak a name és a length oszlop fog megjelenni.
Sorok szerinti szűkítés (where-object) Get-Process where-object {$_.workingset gt 25mb} A where object parancs segítségével bizonyos feltételnek megfelelően szűkíthetjük a sorokat, esetünkben amelyeknek a workingset je nagyobb mint 25MB.
Számoljunk (Measure-object) Ez a parancs egy nagyon ötletes, ugyanis a hozzá beérkező objektumok bizonyos propertyjei alapján tud készíteni összegzést, átlagot, countot stb.
Power Shell és az Active Directory
Active Directory típusmeghatározás: CN = Common Name = Közönséges név. Kötelező elem minden lekérdezésnél, az erőforrás objektumokra és típus nélküli tárolókra lehet vele hivatkozni. DC = Domain Context = Tartományi környezet. A tartomány nevét írja le. OU = Organization Unit = Szervezeti egység. Ha az elérni kívánt objektum a tartományon belül valamely szervezeti egységben található, akkor az előző DC parancs mellett az OU-t is meg kell adni.
Parancssori AD dsadd user CN=Lajos,CN=Users,DC=Animare,DC=hu -samid lali dsadd user CN=Lajos,CN=Users,DC=Animare,DC=hu -samid lali -pwd lalika dsadd user CN=Lajos,CN=Users,DC=Animare,DC=hu -samid lali -pwd lalika -fn Lajos -ln Tóth dsadd user CN=Lajos, CN=Users, DC=Animare, DC=hu -samid lali -pwd lalika -fn Lajos -ln Tóth -memberof CN=Administrators, CN=Builtin, DC=Animare, DC=hu dsadd user CN=Lajos, CN=Users, DC=Animare, DC=hu -samid lali -pwd lalika -fn Lajos -ln Tóth -memberof CN=Administrators, CN=Builtin, DC=Animare, DC=hu -email lali@animare.hu dsadd user CN=Lajos, CN=Users, DC=Animare, DC=hu -samid lali -pwd lalika -fn Lajos -ln Tóth -memberof CN=Administrators, CN=Builtin, DC=Animare, DC=hu -email lali@animare.hu -pwdneverexpires yes dsadd user CN=Lajos, CN=Users, DC=Animare, DC=hu -samid lali -pwd lalika -fn Lajos -ln Tóth -memberof CN=Administrators, CN=Builtin, DC=Animare, DC=hu -email lali@animare.hu -mustchpwd yes dsadd user CN=Lajos, CN=Users, DC=Animare, DC=hu -samid lali -pwd lalika -fn Lajos -ln Tóth -memberof CN=Administrators, CN=Builtin, DC=Animare, DC=hu -email lali@animare.hu -mustchpwd yes -disabled yes dsadd user CN=Lajos, CN=Users, DC=Animare, DC=hu -samid lali -pwd lalika -fn Lajos -ln Tóth -memberof CN=Administrators, CN=Builtin, DC=Animare, DC=hu -email lali@animare.hu -mustchpwd yes -acctexpires 30
Get-ADUser
Get-ADUser-Identity soostibor-properties title
Get-ADUsersoostibor-Properties*
New-ADUser GlenJohn -OtherAttributes @ {title="director";mail="glenjohn@fabrikam.com"} New-ADGroup -Name ujcsoport -SamAccountName ujcsoport -GroupCategory Distribution PassThru New-ADComputer -Name fileserver01" -SamAccountName fileserver01" -Path "OU=ApplicationServers,OU=ComputerAccounts,OU=Managed,DC=G YAKORLAT,DC=HU
Remove-ADUser -Identity GlenJohn Remove-ADUser -Identity "CN=Glen John,OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM Remove-ADComputer -Identity fileserver04"
Power Shell Példa Képek dátum szerint mappákba rendezése
PÉLDA cd.\pictures dir
(dir.\p1090919.jpg).lastwritetime 2009-09-02 get-date (dir.\p1090919.jpg).lastwritetime -Format "yyyy-mm 2009-9
dir *.jpg ForEach-Object {get-date $_.lastwritetime -format "yyyy- MM"} 2010-02 2009-09 2009-09 2010-11 A dir parancsból kijövő fájlobjektumokat továbbküldjük ( jellel) feldolgozásra. Ezen feldolgozás keretében minden egyes érkező objektumra a Foreach-Object parancs segítségével legeneráltatjuk az év-hó formátumú számsort. Az éppen aktuális futószalagon érkező objektumra, jelen esetben fájlra, a $_ jellel tudunk hivatkozni.
Test-Path ".\mappanév True Ez egy nem létező könyvtárra False eredményt fog adni. Nekünk meg pont ekkor kellene alkönyvtárt létrehozni, amikor ez a vizsgálat hamis eredményt ad.
IF vezérlőszerkezet, mellyel akkor lehet végrehajtatni valamit, amikor egy feltétel igaznak értékelődik. Nekünk hamis eredményt ad a Test-Path, amikor tennivalónk lenne, így fordítani kell a kiértékelés eredményén, amit a Test- Path eredményének negálásával tudjuk elérni:
If(!negálandó feltétel){végrehajtandó kód} Könyvtárat a New-Item paranccsal tudunk létrehozni, a következő formátumban: New-Item Path hova ItemType Directory
Fájlt átmozgatni a Move-Item paranccsal tudunk, melynek szerkezete a következő: Move-Item Path Destination célkönyvtár
cd $HOME\pictures dir *.jpg ForEach-Object { $alkönyvtár = get-date $_.lastwritetime -Format "yyyy-mm" if(! (Test-Path -Path ".\$alkönyvtár")) { New-Item -Path ".\$alkönyvtár" -ItemType Directory } Move-Item -Path $_.pspath -Destination ".\$alkönyvtár" }