Windows Server / PowerShell vizsgapuska - tartalomjegyzék
Gyakorlati Junior Rendszerüzemeltető vizsgához: AD DS, tartományvezérlő, OU, felhasználók, DNS, IIS és PowerShell alapok.
9. Gyors parancsreferencia - gyors parancsreferencia
Gép és AD DS
Rename-Computer -NewName "WSKZ" -Restart
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName "rkz.local" `
-SafeModeAdministratorPassword (ConvertTo-SecureString "Password123" -AsPlainText -Force)
OU, csoport, felhasználó
New-ADOrganizationalUnit -Name "VizsgaKZ"
New-ADOrganizationalUnit -Name "Teszt" -Path "OU=VizsgaKZ,DC=rkz,DC=local"
New-ADGroup -Name "Tesztelok" -GroupScope Global -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
New-ADUser -Name "Teszt1" -SamAccountName "Teszt1" `
-AccountPassword (ConvertTo-SecureString "Password123" -AsPlainText -Force) `
-Enabled $true -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
DNS
Add-DnsServerForwarder -IPAddress 8.8.8.8
Add-DnsServerResourceRecordA -Name "gw" -ZoneName "rkz.local" -IPv4Address "10.20.30.254"
Add-DnsServerResourceRecordA -Name "szerver" -ZoneName "rkz.local" -IPv4Address "10.20.30.200"
Add-DnsServerResourceRecordCName -Name "www" -ZoneName "rkz.local" -HostNameAlias "szerver.rkz.local"
IIS
Install-WindowsFeature Web-Server
New-Item -Path "C:\WWW" -ItemType Directory
Set-Content -Path "C:\WWW\index.html" -Value "Képesítő vizsga folyamatban..."
New-WebSite -Name "WWWKZ" -Port 800 -PhysicalPath "C:\WWW"
New-NetFirewallRule -DisplayName "WWWKZ 800" -Direction Inbound -Protocol TCP -LocalPort 800 -Action Allow
1. Active Directory Domain Services (AD DS)
Az AD DS központi címtárszolgáltatás Windows környezetben. Felhasználókat, csoportokat, számítógépeket, jogosultságokat és házirendeket lehet vele tartományi szinten kezelni.
| Fogalom | Jelentés | Vizsga példa |
|---|---|---|
| AD DS | Active Directory Domain Services, központi címtár és hitelesítés | felhasználók és OU-k kezelése |
| Domain | közös névtér és adminisztrációs egység | rkz.local |
| Forest | egy vagy több tartomány legfelső AD egysége | első DC telepítésekor új forest készül |
| OU | Organizational Unit, szervezeti egység | OU=Teszt,OU=VizsgaKZ,... |
| User | felhasználói fiók | Teszt1 |
| Group | jogosultságok és tagságok csoportosítása | Tesztelok |
DN olvasása
OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local
Jelentés:
Teszt OU
a VizsgaKZ OU alatt
az rkz.local tartományban
Vizsgán gyakori hiba: rossz -Path. A DN jobbról balra a tartománytól indul, bal oldalon van a konkrét OU vagy objektum.
2. Domain Controller telepítés
A domain controller (DC) olyan Windows Server, amely AD DS-t futtat, és tartományi hitelesítést, címtárat és gyakran DNS-t is biztosít.
Gép átnevezése
Rename-Computer -NewName "WSKZ" -Restart
A szerver nevét a telepítés elején érdemes beállítani. Újraindítás után folytasd az AD DS telepítést.
AD DS szerepkör telepítése
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
| Rész | Jelentés |
|---|---|
Install-WindowsFeature | Windows Server szerepkör vagy szolgáltatás telepítése |
AD-Domain-Services | Active Directory Domain Services szerepkör |
-IncludeManagementTools | AD felügyeleti eszközök telepítése is |
Új forest létrehozása
Install-ADDSForest -DomainName "rkz.local" `
-SafeModeAdministratorPassword (ConvertTo-SecureString "Password123" -AsPlainText -Force)
| Rész | Jelentés |
|---|---|
Install-ADDSForest | új Active Directory forest és első domain controller létrehozása |
-DomainName "rkz.local" | az új tartomány DNS neve |
-SafeModeAdministratorPassword | Directory Services Restore Mode jelszó |
ConvertTo-SecureString | sima szövegből PowerShell SecureString értéket készít |
Az Install-ADDSForest után a szerver újraindulhat. Belépés után tartományi admin környezetben folytasd a DNS, OU és felhasználó feladatokat.
3. OU kezelés
Az OU-k szervezeti egységek. Felhasználókat, csoportokat és gépeket rendezhetsz velük, és később csoportházirendeket is köthetsz rájuk.
New-ADOrganizationalUnit
New-ADOrganizationalUnit -Name "VizsgaKZ"
New-ADOrganizationalUnit -Name "Teszt" `
-Path "OU=VizsgaKZ,DC=rkz,DC=local"
Get-ADOrganizationalUnit
Get-ADOrganizationalUnit -Filter *
Get-ADOrganizationalUnit -Filter 'Name -like "*Teszt*"'
Get-ADOrganizationalUnit -Identity "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
Remove-ADOrganizationalUnit
# védelem kikapcsolása, ha törléskor hibát ad
Set-ADOrganizationalUnit `
-Identity "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local" `
-ProtectedFromAccidentalDeletion $false
Remove-ADOrganizationalUnit `
-Identity "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local" `
-Confirm:$false
Ha az OU-ban vannak objektumok, előbb azokat kell törölni vagy áthelyezni, különben az OU törlése hibát adhat.
4. Felhasználókezelés
A felhasználók kezeléséhez az ActiveDirectory modul parancsai kellenek. Domain controlleren általában elérhetők az AD DS telepítése után.
Jelszó SecureString formában
$jelszo = ConvertTo-SecureString "Password123" -AsPlainText -Force
New-ADUser
$jelszo = ConvertTo-SecureString "Password123" -AsPlainText -Force
New-ADUser -Name "Teszt1" `
-SamAccountName "Teszt1" `
-UserPrincipalName "Teszt1@rkz.local" `
-AccountPassword $jelszo `
-Enabled $true `
-Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
Set-ADUser
Set-ADUser -Identity "Teszt1" -Department "IT"
Set-ADUser -Identity "Teszt1" -Title "Junior admin"
Set-ADUser -Identity "Teszt1" -Enabled $true
Set-ADAccountPassword -Identity "Teszt1" `
-NewPassword (ConvertTo-SecureString "UjPassword123" -AsPlainText -Force)
Get-ADUser
Get-ADUser -Filter *
Get-ADUser -Identity "Teszt1"
Get-ADUser -Filter 'Name -like "*Teszt*"' -Properties Department,Title
Get-ADUser -SearchBase "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local" -Filter *
Remove-ADUser
Remove-ADUser -Identity "Teszt1"
Remove-ADUser -Identity "Teszt1" -Confirm:$false
Csoport és tagság
New-ADGroup -Name "Tesztelok" `
-GroupScope Global `
-Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
Add-ADGroupMember -Identity "Tesztelok" -Members "Teszt1"
Get-ADGroupMember -Identity "Tesztelok"
A -Name a megjelenített név, a -SamAccountName a régi típusú bejelentkezési név. Vizsgán célszerű mindkettőt megadni.
5. DNS kezelés
A DNS neveket old fel IP-címekre. Active Directory tartományban a DNS kritikus: a kliensek és szerverek DNS alapján találják meg a domain controllert.
| Fogalom | Jelentés | Példa |
|---|---|---|
| A rekord | név -> IPv4 cím | szerver.rkz.local -> 10.20.30.200 |
| CNAME rekord | álnév másik DNS névre | www.rkz.local -> szerver.rkz.local |
| Forwarder | külső DNS kiszolgáló, ha a helyi DNS nem tud válaszolni | 8.8.8.8 |
Add-DnsServerForwarder
Add-DnsServerForwarder -IPAddress 8.8.8.8
Add-DnsServerForwarder -IPAddress 1.1.1.1
Add-DnsServerResourceRecordA
Add-DnsServerResourceRecordA `
-Name "gw" `
-ZoneName "rkz.local" `
-IPv4Address "10.20.30.254"
Add-DnsServerResourceRecordA `
-Name "szerver" `
-ZoneName "rkz.local" `
-IPv4Address "10.20.30.200"
Add-DnsServerResourceRecordCName
Add-DnsServerResourceRecordCName `
-Name "www" `
-ZoneName "rkz.local" `
-HostNameAlias "szerver.rkz.local"
Add-DnsServerResourceRecordCName `
-Name "ns" `
-ZoneName "rkz.local" `
-HostNameAlias "szerver.rkz.local"
DNS ellenőrzés
Resolve-DnsName szerver.rkz.local
Resolve-DnsName www.rkz.local
Get-DnsServerForwarder
Get-DnsServerResourceRecord -ZoneName "rkz.local"
6. IIS kezelés
Az IIS a Microsoft webszervere. Vizsgán gyakori feladat: telepítsd a Web-Server szerepkört, hozz létre mappát, tegyél bele index.html fájlt, majd publikáld webhelyként.
IIS szerepkör telepítése
Install-WindowsFeature Web-Server
Teljes webhely példa: mappa, index.html, webhely
Install-WindowsFeature Web-Server
New-Item -Path "C:\WWW" -ItemType Directory
Set-Content -Path "C:\WWW\index.html" -Value "Képesítő vizsga folyamatban..."
New-WebSite -Name "WWWKZ" -Port 800 -PhysicalPath "C:\WWW"
New-NetFirewallRule `
-DisplayName "WWWKZ 800" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 800 `
-Action Allow
Ellenőrzés
Get-WindowsFeature Web-Server
Get-Website
Get-ChildItem "C:\WWW"
Invoke-WebRequest http://localhost:800
netstat -ano | findstr :800
Ha böngészőből nem érhető el, ellenőrizd: fut-e a site, jó-e a port, létezik-e a fizikai útvonal, és engedélyezett-e a tűzfalon.
7. Gyakori PowerShell szintaxis
Változók
$nev = "Zoli"
$szam = 12
$lista = @("alma", "korte", "szilva")
Write-Host $nev
Write-Host "Név: $nev"
If
$szam = 12
if ($szam -gt 10) {
Write-Host "Nagyobb mint 10"
} elseif ($szam -eq 10) {
Write-Host "Pont 10"
} else {
Write-Host "Kisebb mint 10"
}
Foreach
$lista = @("Teszt1", "Teszt2")
foreach ($elem in $lista) {
Write-Host $elem
}
Functions
function Uj-VizsgaUser {
param(
[string]$Nev,
[string]$Path
)
$jelszo = ConvertTo-SecureString "Password123" -AsPlainText -Force
New-ADUser -Name $Nev -SamAccountName $Nev -AccountPassword $jelszo -Enabled $true -Path $Path
}
Hasznos keresés
Get-Service *sql*
Get-Command *DnsServer*
Get-Command *ADUser*
Get-Help New-ADUser -Examples
| Operátor | Jelentés | Példa |
|---|---|---|
-eq | egyenlő | $x -eq 5 |
-ne | nem egyenlő | $x -ne 5 |
-gt | nagyobb | $x -gt 5 |
-lt | kisebb | $x -lt 5 |
-like | mintaillesztés | $nev -like "Teszt*" |
8. Vizsgafeladat minták
Create an OU - OU létrehozása
New-ADOrganizationalUnit -Name "VizsgaKZ"
New-ADOrganizationalUnit -Name "Teszt" -Path "OU=VizsgaKZ,DC=rkz,DC=local"
Get-ADOrganizationalUnit -Filter 'Name -like "*Teszt*"'
Create two users - két felhasználó létrehozása
$path = "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
$jelszo = ConvertTo-SecureString "Password123" -AsPlainText -Force
New-ADUser -Name "Teszt1" -SamAccountName "Teszt1" -UserPrincipalName "Teszt1@rkz.local" `
-AccountPassword $jelszo -Enabled $true -Path $path
New-ADUser -Name "Teszt2" -SamAccountName "Teszt2" -UserPrincipalName "Teszt2@rkz.local" `
-AccountPassword $jelszo -Enabled $true -Path $path
Get-ADUser -SearchBase $path -Filter *
Create an A record - A rekord létrehozása
Add-DnsServerResourceRecordA `
-Name "szerver" `
-ZoneName "rkz.local" `
-IPv4Address "10.20.30.200"
Resolve-DnsName szerver.rkz.local
Create a CNAME record - CNAME rekord létrehozása
Add-DnsServerResourceRecordCName `
-Name "www" `
-ZoneName "rkz.local" `
-HostNameAlias "szerver.rkz.local"
Resolve-DnsName www.rkz.local
Install IIS and publish a website - IIS telepítés és webhely publikálás
Install-WindowsFeature Web-Server
New-Item -Path "C:\WWW" -ItemType Directory
Set-Content -Path "C:\WWW\index.html" -Value "Képesítő vizsga folyamatban..."
New-WebSite -Name "WWWKZ" -Port 800 -PhysicalPath "C:\WWW"
New-NetFirewallRule -DisplayName "WWWKZ 800" -Direction Inbound -Protocol TCP -LocalPort 800 -Action Allow
Invoke-WebRequest http://localhost:800
Teljes AD + DNS + IIS vizsgaminta
Rename-Computer -NewName "WSKZ" -Restart
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName "rkz.local" `
-SafeModeAdministratorPassword (ConvertTo-SecureString "Password123" -AsPlainText -Force)
Add-DnsServerForwarder -IPAddress 8.8.8.8
Add-DnsServerResourceRecordA -Name "gw" -ZoneName "rkz.local" -IPv4Address "10.20.30.254"
Add-DnsServerResourceRecordA -Name "szerver" -ZoneName "rkz.local" -IPv4Address "10.20.30.200"
Add-DnsServerResourceRecordCName -Name "www" -ZoneName "rkz.local" -HostNameAlias "szerver.rkz.local"
New-ADOrganizationalUnit -Name "VizsgaKZ"
New-ADOrganizationalUnit -Name "Teszt" -Path "OU=VizsgaKZ,DC=rkz,DC=local"
New-ADGroup -Name "Tesztelok" -GroupScope Global -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
$jelszo = ConvertTo-SecureString "Password123" -AsPlainText -Force
New-ADUser -Name "Teszt1" -SamAccountName "Teszt1" -AccountPassword $jelszo -Enabled $true -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
New-ADUser -Name "Teszt2" -SamAccountName "Teszt2" -AccountPassword $jelszo -Enabled $true -Path "OU=Teszt,OU=VizsgaKZ,DC=rkz,DC=local"
Add-ADGroupMember -Identity "Tesztelok" -Members "Teszt1","Teszt2"
Install-WindowsFeature Web-Server
New-Item -Path "C:\WWW" -ItemType Directory
Set-Content -Path "C:\WWW\index.html" -Value "Képesítő vizsga folyamatban..."
New-WebSite -Name "WWWKZ" -Port 800 -PhysicalPath "C:\WWW"
Ellenőrzés és hibakeresés
AD ellenőrzés
Get-ADDomain
Get-ADForest
Get-ADOrganizationalUnit -Filter *
Get-ADUser -Filter *
Get-ADGroup -Filter *
DNS ellenőrzés
Get-DnsServerZone
Get-DnsServerForwarder
Resolve-DnsName www.rkz.local
nslookup www.rkz.local
IIS ellenőrzés
Get-Website
Get-WebBinding
Invoke-WebRequest http://localhost:800
Get-NetFirewallRule | Where-Object DisplayName -like "*WWWKZ*"