MBRH6
>REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL MEDIATECHNOLOGIE | CREBO: 95322 | LEERJAAR 2 GRAFISCH LYCEUM ROTTERDAM SAMENSTELLER: R.SELLIS
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
INHOUDSOPGAVE Inleiding ......................................................................................................... 3 Werkwijze en beoordeling ............................................................................ 4 Planning ......................................................................................................... 5 H1 | BasisNetwerk ......................................................................................... 6 Opdracht 1 .........................................................................................................................6
H2 | Remote Server Administration Tools .................................................. 7 Opdracht 2 .........................................................................................................................8
H3 | Computer Management ........................................................................ 9 H4 | PowerShell Remoting ........................................................................... 10 Invoke...............................................................................................................................10 Opdracht 3 .......................................................................................................................10 PSSession........................................................................................................................11 Firewall .............................................................................................................................12 Opdracht 4 .......................................................................................................................13
H5 | Installatie WebServers .......................................................................... 14 Installatie Core Server......................................................................................................15 Configuratie Server Core .................................................................................................16 Opdracht 5 .......................................................................................................................16
H6 | GPO: Remote Management .................................................................. 17 WinRM activeren ..............................................................................................................18 FireWall regel ...................................................................................................................19 WinRM Services...............................................................................................................21 Opdracht 6 .......................................................................................................................21
H7 |Installatie IIS ........................................................................................... 22 Invoke-Command .............................................................................................................22 Get-WindowsFeature .......................................................................................................23 Install-WindowsFeature....................................................................................................24 Copy Website ...................................................................................................................25 Opdracht 7 .......................................................................................................................25
H8 |Grafische Interface ................................................................................. 26 Opdracht 8 .......................................................................................................................26 Windows Install Media .....................................................................................................27 Opdracht 9 .......................................................................................................................28
1
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H9 |Challenge ................................................................................................ 29 Opdracht 10 .....................................................................................................................29
Bronnen ......................................................................................................... 30
2
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
INLEIDING In de wereld van Microsoft zien we de laatste jaren een aantal verschuivingen. Producten worden flexibeler, security krijgt een prominentere plek en PowerShell wordt steeds meer geïntegreerd. e
e
In deze reader zullen we alle drie onderdelen langs zien komen. Zo gaan we een 2 en 3 server installeren zonder een GUI (Graphical User Interface) welke beter bekend staat onder de naam Windows Core. Het netwerk, dus ook de Core Server gaan we beheren vanaf een werkstation. Rollen voegen we middels PowerShell toe, kortom een reader vol nieuwe kennis en vaardigheden welke je rechtstreeks kunt gebruiken binnen je beroepsprofiel. Ik wens je veel succes en plezier, Rotterdam, januari 2016 Roland Sellis
3
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
WERKWIJZE EN BEOORDELING Voorwaarden: Je hebt de volgende materialen nodig • Externe HDD • Virtual Machine: Windows 2102R2 up-to-date • Virtual Machine: Windows 10 up-to-date • ISO: Windows Server 2012R2 • Router Let op! Alle voorbeelden van PowerShell commando’s in deze reader zijn weergegeven in het lettertype Courier New De gebruikte PowerShell commando’s in deze reader zijn meestal commando’s van één regel. Echter door de maximale breedte van deze reader vallen delen van die regel nog al eens op een volgende regel. In de praktijk horen deze regels dus achterelkaar. Voorbeeld: Get-NetFirewallRule -DisplayGroup "Remote Volume Management" | FormatTable -Property Name,Enabled Dit is dus een commando van één regel Je kunt met de opdrachten in totaal 100 punten verdienen, verdeeld op de volgende manier Opdracht 1 Opdracht 2 Opdracht 3 Opdracht 4 Opdracht 5 Opdracht 6 Opdracht 7 Opdracht 8 Opdracht 9 Opdracht 10
10 punten 10 punten 5 punten 10 punten 10 punten 15 punten 15 punten 5 punten 10 punten 20 punten + 100 punten
4
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
PLANNING Week 1
Opdracht 1 en 2
Week 2
Opdracht 3 en 4
Week 3
Opdracht 5 en 6
Week 4
Opdracht 7 en 8
Week 5
Opdracht 9 en 10
Week 6
Afronden opdracht 10
Week 7
Uitloop
Week 8
Uitloop indien periode uit 8 weken bestaat
5
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H1 | BASISNETWERK Deze reader starten we met een basisnetwerk en –configuratie. De situatie zie je hieronder weergegeven. We maken voorlopig gebruik van 1 Domain Controller en 1 Client beiden in het domein “mediatech.lan”.
In deze reader worden in basis de volgende hosts gebruikt: Naam IP adres Subnetmasker Default Gateway DNS Server OS Services
: : : : : : :
DC 192.168.1.100 255.255.255.0 192.168.1.1 192.168.1.100 Windows Server 2012R2 ADDS, DNS
Naam IP adres Subnetmasker Default Gateway DNS Server OS
: : : : : :
WS1 192.168.1.120 255.255.255.0 192.168.1.1 192.168.1.100 Windows 10
Naam Wan Lan Subnetmasker
: : : :
Router Automatisch 192.168.1.1 255.255.255.0
Opdracht 1 Installeer en configureer het basisnetwerk en maak daarbij gebruik van eigen IP gegevens. Je gebruikt een eenvoudige router.
6
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H2 | REMOTE SERVER ADMINISTRATION TOOLS Als systeembeheerder heb je niet altijd de mogelijkheid om direct achter een server te werken, laat staan of dat wenselijk is. De meeste werkzaamheden worden vanaf een werkstation gedaan. Uiteraard is het goed mogelijk om veel van de beheerstaken middels een remote desktop verbinding uit te voeren. Om meerdere rol specifieke servers te beheren is het echter ook makkelijk om een console te hebben waarmee bijvoorbeeld alle DNS servers vanaf één plek te configureren of te monitoren. Al jarenlang stelt Microsoft RSAT (Remote Server Administration Tools) beschikbaar voor de diverse versies van Windows. Aangezien je deze tools installeert op het werkstation bepaalt de OS versie van je werkstation welke versie van RSAT je nodig hebt. In deze reader gebruiken we Windows 10 als besturingssysteem. Zoeken op internet met de termen “RSAT Windows 10” levert je al snel de juiste URL op waar deze versie te downloaden is.
Na het downloaden en installeren van de tools vind je via het menu ‘All Apps’ de entry ‘Server Manager’. Deze manager heeft dezelfde interface als die op Windows Server 2012. Open de Server Manager op Windows 10 en voeg via het menu ‘Manage’ de server DC toe.
Daarna is remote management met RSAT mogelijk.
7
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
Kies in het menu ‘Tools’ voor DNS. Vervolgens krijg je de vraag met welke computer je wilt verbinden. In dit voorbeeld is dat de DC.
Een andere manier is om vanuit Server Manager de rol en vervolgens de server te selecteren en via het snelmenu de juiste optie te kiezen.
Opdracht 2 Installeer RSAT voor Windows 10 op WS1 en maak in AD een nieuwe OU ‘Rotterdam’ aan. Daarbinnen een nieuwe OU ‘Admins’ en maak vervolgens een account voor jezelf aan. Met dit account log je vanaf nu in op WS1.
8
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H3 | COMPUTER MANAGEMENT Ook met de tool ‘Computer Management’ kun je eenvoudig een andere Windowscomputer in het netwerk configureren. Open ‘Computer Management’ via het start menu.
Klik met rechts op de ‘Local Computer’ en kies in het snelmenu voor ‘Connect to another computer …’.
Oefening Test het gebruik van Remote Computer Management uit door vanaf WS1 te verbinden met DC. Probeer vervolgens eens om Disk Management te openen zodat je de harddisk van DC ziet. Wat is het resultaat? Waardoor wordt dat veroorzaakt?
9
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H4 | POWERSHELL REMOTING In de vorige oefening heb je kunnen ervaren dat het gebruik van Remote Disk Management niet zondermeer ging. Op de DC staat een firewall actief die dit blokkeert. We gaan de Firewall dus wijzigen om Remote Disk Management dus wel toe te staan. Aangezien we deze handelingen vanaf WS1 willen gaan uitvoeren zullen we eerst op DC moeten aangeven dat ‘PowerShell Remoting’ toegestaan wordt. Op DC openen we daarom PowerShell. Vanuit de vorige reader weet je dat het nodig is om PowerShell als administrator te openen. Vervolgens geef je het commando Enable-PSRemoting –Force Dit commando start de WinRM service, zorgt ervoor dat deze voortaan automatisch start en zorgt voor een regel in de Firewall waardoor een inkomende verbinding geaccepteerd wordt. De parameter –Force zorgt ervoor dat er niet bij elke stap op bevestiging gevraagd wordt. Het is goed mogelijk dat de WinRM service al gestart is op DC, daar wordt dan ook melding van gemaakt. De overige stappen worden dan alsnog uitgevoerd en dat is zoals we het willen hebben. Vervolgens moeten we de WinRM service herstarten. Uiteraard doen we dat ook met PowerShell. Restart-Service WinRM
INVOKE Vervolgens gaan we terug naar WS1. Er zijn een aantal manieren om een PowerShell commando uit te laten voeren op een andere computer, waaronder het Invoke Commando. Invoke-Command -ComputerName DC -ScriptBlock {Get-ChildItem C:\ } Credential Sellis
Het grote nadeel is dat je voor elk commando opnieuw het Invoke commando moet opgeven.
Opdracht 3 Gebruik het ‘Invoke’ commando om de status van de WinRM service op DC te zien. Maak een screenshot van het commando en het resultaat.
10
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
PSSESSION Het is vaak makkelijker om een sessie te beginnen. Binnen die sessie kan je dan meerdere commando’s achter elkaar geven. Je start een sessie met behulp van het commando Enter-PSSession –Computername
-Credential <username>
Aangezien ik niet het wachtwoord opgegeven heb wordt daar alsnog om gevraagd. Vervolgens zie je aan de prompt dat er remote op een andere host gewerkt wordt.
En kunnen we commando’s remote uitvoeren.
Zolang de sessie actief is blijft deze ‘verbonden’ met de remote host. Om de sessie te sluiten gebruiken we het commando Exit-PSSession
De prompt wijzigt weer naar PS, waardoor je weet dat de sessie weer lokaal uitgevoerd wordt.
11
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
FIREWALL Ons doel was om de FireWall van DC zodanig te wijzigen dat we via Computer Management remote Disk Management konden gebruiken. Voordat PowerShell zo breed toepasbaar werd, werd dat vaak gedaan met het commando Netsh, wat overigens geen PowerShell commando is. Uiteraard focussen we ons op het gebruik van de nieuwe manier, via PowerShell. Dat is overigens ook de manier die Microsoft zelf adviseert aangezien Netsh op den duur wel zal verdwijnen. De eerste stap die we moeten nemen is onderzoeken wat de naam van de FireWall regel is die we ‘open’ willen zetten. Aangezien Windows 10 zelf ook een ‘FireWall with AdvancedSecurity’ aan boord. Die gaan we gebruiken om de regels op te zoeken. We starten de FireWall console en selecteren ‘Inbound Rules’. In de middenkolom gaan we op zoek naar regels die iets zeggen over ‘Volumes’, ‘Management’ en/of ‘remote’. In mijn voorbeeld kom ik wel zes regels tegen die allemaal beginnen met ‘Remote Volume Management …’. Drie ervan hebben als profiel ‘Domain’ en de andere drie hebben ‘Private’ als profiel. Dat komt omdat WS1 een werkstation is waarmee op een domein ingelogd kan worden, maar ook lokaal. Er zijn dus twee profielen in gebruik. Op DC zal dit anders zijn, aangezien dit een Domain Controller is kan je daar niet lokaal inloggen. Daardoor zullen er ‘maar’ 3 entries zijn.
Een manier is om elke regel apart te configureren, maar verder onderzoek leert ons dat de kolom erachter de naam ‘Group’ heeft. Achter elke entry voor ‘Remote Volume Management’ staat de groepsnaam ‘Remote Volume Management’. Blijkbaar kunnen we de regels ook als groep ‘aanspreken’. Daar kunnen we straks gebruik van maken. We openen PowerShell als administrator en zetten eerst een sessie op naar DC. Vervolgens vragen we informatie over de groep ‘Remote Volume Management’ op. Get-NetFirewallRule -DisplayGroup "Remote Volume Management" We zien een hele lijst langskomen met informatie per item voor alle drie entries, terwijl we alleen geïnteresseerd zijn in de status van de regels.
12
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
Dat valt eenvoudig op te lossen met een andere format. In dit specifieke geval zijn er twee opties relevant. Of we kiezen voor het format ‘Table’ of we maken een custom-view. De makkelijkste is de table-view. We typen hetzelfde PS commando en gebruiken het pipeteken ( | ) om het resultaat door te sturen naar een nieuw commando die het in een bepaald format laat zien. Get-NetFirewallRule -DisplayGroup "Remote Volume Management" | FormatTable Een andere manier is om een custom view te maken en alleen die items te kiezen die we willen zien. In dit voorbeeld willen we weten wat de status van elke firewall regel is. Dus alleen de naam en de status is belangrijk. Als we in de voorgaande lijst kijken zien we dat de naam te vinden is bij de titel ‘Name’ of ‘Displayname’ en dat de titel ‘Enabled’ aangeeft wat de status is. We gebruiken hetzelfde PS commando als eerder, maar voegen er iets aan toe, namelijk de paprameter ‘Property’. We willen namelijk alleen de eigenschappen ‘Naam’ en “Enabled’ zien. Get-NetFirewallRule -DisplayGroup "Remote Volume Management" | FormatTable -Property Name,Enabled Nu we weten wat de status is (namelijk Enabled = False) kunnen we deze waarde ook wijzigen. Get-NetFirewallRule -DisplayGroup "Remote Volume Management" | SetNetFirewallRule -Enabled True Om via ‘Computer Management’ de optie ‘Disk Management’ voor een Remote Host te kunnen gebruiken moeten dezelfde regels van de lokale FireWall ook gewijzigd worden.
Opdracht 4 Bewaar van alle onderstaande opdrachten het originele commando als tekst en maak een screenshot van het resultaat a) Vraag met behulp van een PS commando de status op van de firewall groep ‘Remote Volume Management’ waarbij de Name, de Displayname, Enabled, en Direction als een lijst getoond wordt. b) Gebruik een PS commando om de Firewall groep “Remote Volume Management” te activeren (Enabled=True) c) Vraag met behulp van een PS commando de status op van de firewall groep ‘Remote Volume Management’ waarbij de Name, de Displayname, Enabled, en Direction als een lijst getoond wordt. d) Open Computer Management op WS1 en maak een verbinding met DC. Open Disk Management.
13
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H5 | INSTALLATIE WEBSERVERS Binnen het domein ‘mediatech.lan’ gaan we twee webservers toevoegen. Het netwerk zal er straks als volgt uit komen te zien.
Naam IP adres Subnetmasker Default Gateway DNS Server OS Services
: : : : : : :
DC 192.168.1.100 255.255.255.0 192.168.1.1 192.168.1.100 Windows Server 2012R2 ADDS, DNS
Naam IP adres Subnetmasker Default Gateway DNS Server OS Services
: : : : : : :
WEB1 192.168.1.110 255.255.255.0 192.168.1.1 192.168.1.100 Windows Server CORE 2012R2 IIS
Naam IP adres Subnetmasker Default Gateway DNS Server OS Services
: : : : : : :
WEB2 192.168.1.111 255.255.255.0 192.168.1.1 192.168.1.100 Windows Server CORE 2012R2 IIS
Naam IP adres Subnetmasker Default Gateway DNS Server OS
: : : : : :
WS1 192.168.1.120 255.255.255.0 192.168.1.1 192.168.1.100 Windows 10
Naam Wan Lan Subnetmasker
: : : :
Router Automatisch 192.168.1.1 255.255.255.0
14
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
INSTALLATIE CORE SERVER In tegenstelling tot een installatie die we gewoonlijk vaak kiezen en gebruiken maken we nu gebruik van Server Core. Concreet houdt dat in dat we Windows Server 2012 R2 gaan installeren zonder GUI (Graphical User Interface). Server Core kent diverse voordelen t.o.v waaronder: • Minder onderhoud • Minder kwetsbaar voor aanvallen • Minder beheer nodig • Minder schijfruimte vereist Aan het begin van de installatie kiezen we dus voor ‘Server Core Installation’.
Na de installatie zal er een wachtwoord ingevoerd moeten worden en kunnen we inloggen. Het enige dat we zien is de CommandPrompt (CLI – Command Line Interface).
15
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
CONFIGURATIE SERVER CORE Toen Microsoft in versie 2008 met de Server Core mogelijkheid kwam, was het configureren erg lastig. Allerlei commando’s waren nodig om het geheel een beetje werkend te krijgen. Denk aan het toekennen van de IP gegevens, het toevoegen aan een domein etc. In Server 2012 is één en ander een stuk makkelijker geworden met het commando: SCONFIG (Server CONFIGuration) SCONFIG geeft je een menustructuur waarmee je de initiële configuratie kunt uitvoeren.
Opdracht 5 a) b) c) d) e) f)
Installeer twee keer Windows Server Core 2012 R2 Configureer de netwerkkaarten Wijzig de computernamen Maak de servers lid van het domein Activeer op beide servers Remote Desktop Installeer updates wanneer dat het beste uitkomt
Let op! Je installeert (nog) niet de IIS Rol!
16
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H6 | GPO: REMOTE MANAGEMENT In hoofdstuk 4 hebben we met een PS commando PowerShell Remoting ‘aangezet’ (EnablePSRemoting). Als we dat echter handmatig op elke host moeten gaan uitvoeren is dat niet de meest handige manier. Dat is beter op te lossen met een GPO (Group Policy Object). We zullen hiervoor 3 taken moeten regelen voor elke host in ons netwerk: • Activeren van Windows Remote Management (WinRM) • De Firewall regels aanpassen • De services van WinRM automatisch laten starten Uiteraard gaan we deze taal ook weer vanaf WS1 uitvoeren. Open daarvoor Server Manager en in het menu Tools kiezen we voor Group Policy Management. Creëer en link een nieuwe policy aan de OU waar de desbetreffende hosts zich bevinden. In dit voorbeeld is dat een OU ‘Hosts’ in de OU ‘Rotterdam’. In dit voorbeeld heb ik de GPO ‘PowerShellRemoting’ genoemd. Zodoende weet ik ook later waar deze GPO voor bedoeld is.
17
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
WINRM ACTIVEREN Vervolgens klik je met rechts op de entry en kies je in het snelmenu voor ‘Edit…’. In de console kies je achtereenvolgens voor: Computer Configuration » Policies » Administrative Templates » Windows Components » Windows Remote Management (WinRM) » WinRM Service » Allow remote server management through WinRM
Bewerk de policy en activeer deze. Zowel voor het IPv4 als het IPv6 filter zetten we een * om alle IP adressen toe te staan. In een productieomgeving kun je hier beter met een reeks IP adressen specificeren op welke adressen de policy toegepast mag worden.
18
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
FIREWALL REGEL In dezelfde GPO gaan we vervolgens een regel maken voor de FireWall. Volg achtereenvolgens het pad: Computer Configuration » Windows Settings » Security Settings » Windows Firewall with Advanced Security » Windows Firewall with Advanced Security Klik vervolgens met rechts op ‘Inbound Rules’ en kies in het snelmenu voor ‘New Rule…’ Als ‘Rule Type’ selecteren we ‘Windows Remote Management’ uit de standaard (predefined) lijst.
In de lijst met regels vinken we het publieke domein uit. Deze service hoeft immers niet bereikbaar te zijn vanaf internet?
In het volgende venster staat we de connectie toe (‘Allow the connection’).
19
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
Als we de regel toegepast hebben bekijken we de eigenschappen (rechtsklik – properties) en navigeren we naar het tabblad ‘Advanced’ waar we ook het profiel ‘Private’ uitvinken vanwege de veiligheid.
20
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
WINRM SERVICES De laatste taak is het wijzigen van de WinRM services. Deze moeten automatisch gestart worden op alle hosts. Opnieuw maken we deze wijziging binnen dezelfde GPO omdat het een onderdeel is van het totale doel: Remote Management activeren op alle computers in de OU ‘Hosts’. Opnieuw volgen we een pad: Computer Configuration » Preferences » Control Panel Settings » Services Klik met rechts op Services en kies in het snelmenu voor New » Service en configureren we de service zoals onderstaand voorbeeld.
En daarmee hebben we aan alle voorwaarden voldaan. Om de nieuwe policy meteen van kracht te laten zijn starten we zowel DC als WS1 opnieuw op. Uiteraard doen we dat wel met behulp van PowerShell: Invoke-Command -ComputerName DC, WS1 -ScriptBlock {Restart-Computer Force}
Opdracht 6 Bewaar van alle onderstaande opdrachten het originele commando als tekst en maak een screenshot van het resultaat. a) Maak binnen de OU ‘Rotterdam’ een nieuwe OU ‘Hosts’ en verplaats de computers Web1, Web2 en WS1 naar deze OU b) Maak een GPO waarmee ‘Remote Management’ op alle computers in de OU ‘Hosts’ mogelijk is c) Test of een remote sessie mogelijk is naar alle drie computers (Enter-PSSession – Computername
21
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H7 |INSTALLATIE IIS Nu we beide weservers geïnstalleerd hebben met Windows Server Core wordt het tijd om de IIS rol te installeren. Aangezien we dit bij twee servers tegelijk moeten uitvoeren maken we gebruik van PowerShell. We hebben immers in het vorige hoofdstuk met een GPO ervoor gezorgd dat Remote Management mogelijk is. Het doel is dus duidelijk. We gaan ervoor zorgen dat op beide webservers de rol IIS geïnstalleerd gaat worden. Tegelijk!
INVOKE-COMMAND We gaan opnieuw gebruik maken van het Invoke-Command. Allereerst de syntax nog een keer. Invoke-Command –Computername -Scriptblock {} Op de plaats waar staat geef je de computer of computers op waar het om gaat. Je kunt dus meerdere computers tegelijk opgeven. Op de plaats waar staat geef je op wat er precies uitgevoerd moet worden. Met andere woorden: alles wat tussen de accolades staat { } wordt uitgevoerd op de computers die je opgeeft als je op de enter-toets drukt. Daarna is de sessie verbroken. Als we meerdere commando’s zouden willen uitvoeren in één en dezelfde sessie moeten we dat dus iets anders aanpakken. We maken dan gebruik van New-PSSession. De makkelijkste manier is om deze sessie in een variabele te stoppen zodat het hergebruik eenvoudiger is. $Sessions = New-PSSession –Computername Invoke-Command –Session $Sessions {}
Oefening Voer het volgende PS commando uit $Sessions = New-PSSession –Computername Web1,Web2 Invoke-Command –Session $Sessions {$A = 7} Invoke-Command –Session $Sessions {Write-Host $A} Welk antwoord krijg je terug en hoe vaak? Hoe verklaar je dat?
22
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
Met het commando Get-PSSession kan je opvragen welke sessies er ‘open’ staan.
Eén sessie afsluite, bijvoorbeeld de sessie met ID 5 zoals hierboven in de afbeelding te zien is, kan met het commando Remove-PSSession –Id 5
Alles sessie ineens verwijderen kan uiteraard ook met Get-PSSession | Remove-PSSession
Een andere manier is om het PowerShell Window te sluiten. Alle sessies worden dan beëindigd.
GET-WINDOWSFEATURE Om de IIS rol te installeren moeten we eerst weten wat de naam van de rol is zodat we die naam kunnen gebruiken in een PS commando. We gebruiken hiervoor het commando GetWindowsFeature en laten dit uitvoeren vanaf WS1 op Web1.
In de lijst zien we dat de WebServer Role niet geinstalleerd is, er staat immers geen x tussen de haakjes voor de naam. De naam die we nodig hebben staat in de kolom ‘Name’. In dit geval is de naam dus ‘Web-Server’.
23
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
INSTALL-WINDOWSFEATURE Vervolgens gaan we de commando’s opbouwen die we nodig hebben om de Web-Server Role te installeren. Allereerst starten we met het benoemend van een tweetal variabelen: $webservers = ‘web1’, ‘web2’ $Sessions = New-PSSession –Computername $webservers
Vervolgens het commando om de Web-Server Role te installeren Invoke-Command -Session $Sessions {Install-WindowsFeature web-server} Uiteraard willen testen of de installatie gelukt is. We kunnen dat eenvoudig doen door een webbrowser te openen en naar de webserver te surfen, maar uiteraard kunnen we dat ook doen met een PS commando. Als PowerShell nog geopend staat is de variabele $webservers nog steeds geldig, anders moet je deze even opnieuw aanmaken. Vervolgens gaan we de inhoud van die variabele doorsturen over de ‘pipe’ naar een nieuw commando. $webservers | ForEach-Object {start iexplore http://$_} In bovenstaand commando wordt op de plaats van $_ elke keer de inhoud van de variabele één voor één ingevuld. Dus de eerste keer komt daar http://web1 te staan en daarna http://web2 .
24
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
COPY WEBSITE De laatste stap in de configuratie van de webservers is dat we content gaan kopiëren naar de webservers. Bij deze reader hoort een zip bestand (website.zip) wat je kunt gebruiken of je maakt zelf een eenvoudige webpagina. $webservers | ForEach-Object {Copy-Item C:\website\*.* -Destination \\$_\C$\inetpub\wwwroot} Het kan zijn dat de webservers op UNC pad (nog) niet te vinden zijn omdat Network Discovery nog uit staat. Gelukkig weten we daar inmiddels ook wel wat op. Set-NetFirewallRule -DisplayGroup "Network Discovery" -Enabled True
Opdracht 7 Installeer voor zowel Web1 als Web2 de Web-Server rol en kopieer een website naar de servers zodat deze getoond kunnen worden.
25
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H8 |GRAFISCHE INTERFACE Inmiddels bestaat het netwerk uit 4 hosts. Twee daarvan hebben een Grafische Interface (GUI: DC en WS1) en twee zijn geïnstalleerd met de Core versie van Server 2012 R2. Sinds Server 2012 heeft Microsoft de GUI zo ontworpen dat deze bovenop de Core versie draait. Met andere woorden: we kunnen de Grafische Interface toevoegen of verwijderen zonder dat we daarvoor opnieuw moeten installeren. In Windows 2008 was dat de enige optie als je wilde wijzigen tussen Core of GUI. In dit hoofdstuk gaan we Web2 gebruiken om de GUI te installeren. Vanaf WS1 starten we PowerShell als administrator. Inmiddels weetje hoe je PS remoting kunt gebruiken en hoe je de Windows-Features kunt bekijken.
Opdracht 8 Maak een remote PS verbinding met Web2 en vraag de lijst met Windows Features op. Noteer welke commando’s je gebruikt hebt. De opgevraagde lijst is vrij lang en je hebt zeker niet alles nodig. Eigenlijk alleen maar die features die te maken hebben met de grafische interface. Een aanpassing van het PS commando maakt het dan ook wat eenvoudiger. Get-WindowsFeature *GUI* In een eerdere reader over PowerShell heb je geleerd dat de * voor meerdere tekens staat. Dus vrij vertaald staat hier: “Laat alle Windows Features zien waar de letters GUI in voorkomt. Er mogen andere tekens voor en achter de naam GUI staan.”
Wederom zien we in de kolom ’Name’ de naam staan die we kunnen gebruiken: Server-Gui-Mgmt-Infra
geeft een minimale server interface met: Server Manager MMC consoles Control Panel (deels)
Server-Gui-Shell
geeft de volledige grafische interface, dus inclusief: Desktop Startscreen Windows Explorer Internet Explorer
In de kolom ‘Install State’ zien we ‘Removed’ staan. Dat betekent dat niet alleen de rol niet aanwezig is, maar de binaries, de installatiebestanden zijn ook niet aanwezig. Als we de GUI gaan installeren zal Windows proberen de binaries via een internetverbinding te downloaden. Een betere oplossing is dus om tijdens de installatie te verwijzen naar een bron waar de installatie bestanden te vinden zijn. Op de installatie dvd (ISO) staat een folder met de naam ‘Resources’ waarbinnen we het bestand ‘install.wim’ vinden. Als we dus de inhoud kopiëren naar een gedeelde folder of je hebt toegang tot de dvd kun je daar naar verwijzen indien nodig.
26
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
WINDOWS INSTALL MEDIA Een WIM file bevat de installatiebestanden voor Windows. Als je een installatie start heb je vaak de keuze uit meerdere versies, waaronder een installatie met of zonder GUI. Elke installatie wordt in een WIM file met een index nummer aangeduid. Gebruik het commando Get-WindowsImage –ImagePath <pad_naar_wim> Om de inhoud met het indexnummer te zien.
In de afbeelding hierboven zien we dat er twee core-versies zijn en twee versies met een GUI. Uiteraard moeten we verwijzen naar een versie met een GUI, de core versie bevat namelijk niet de bestanden voor de grafische interface. In het PS commando combineren we dus het één en ander. Als we eerst de minimale interface gaan toevoegen gebruiken we het PS commando Install-WindowsFeature –Name "Server-Gui-Mgmt-Infra" -source wim:C:\ sources\install.wim:4 -Restart Vervolgens de versie met full GUI Install-WindowsFeature "Server-Gui-Shell" -source wim:C:\ sources\install.wim:4 -Restart Of als je beiden in één keer wilt laten uitvoeren Get-WindowsFeature *GUI* | Install-WindowsFeature -source wim:C:\ sources\install.wim:4 -Restart
27
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
Windos kent een aantal ‘Interface Experiences” die je kunt toevoegen. Startend vanaf onderaan hebben we de Core versie. Vervolgens hebben we de keus om een aantal functies toe te voegen waardoor Windows een minimale Interface krijgt. Deze noemen we ‘Minimal Server’ en in PS heeft deze de naam “Server-Gui-Mgmt-Infra”. De volgende stap die we kunnen doen is het volledig installeren van de GUI waardoor het een Server met Full GUI wordt (PS “Server-Gui-Shell”). Eventueel kun je ook de “Desktop Experience” nog installeren (PS “Desktop-Experience”)
Server with Full GUI & Desktop Experience
Server with Full GUI
Minimal Server
Server Core
Opdracht 9 Voorzie Web2 van een Grafische Interface.
28
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
H9 |CHALLENGE Met de kennis die je nu hebt opgedaan en met behulp van internet moet het mogelijk zijn om de laatste opdracht uit te kunnen voeren.
Opdracht 10 Maak een PowerShell script waarmee je een server die voorzien is van een clean-install configureert en voorziet van rollen. Denk hierbij aan de naam, IP gegevens, lidmaatschap domein etc.
29
MBRH6 REMOTE ADMINISTRATION, CORE SERVER & POWERSHELL | GRAFISCH LYCEUM ROTTERDAM
BRONNEN •
RSAT download pagina https://www.microsoft.com/en-us/download/details.aspx?id=45520
•
This app can’t open for Built-in Administrator account http://www.bleepingtech.com/windows-8-fix-this-app-cant-open-for-built-inadministrator-account/
•
Using Format Commands to Change Output View https://technet.microsoft.com/en-us/library/dd347677.aspx
•
What is Server Core https://msdn.microsoft.com/en-us/library/dd184075.aspx
•
30