Showing posts with label Windows 8. Show all posts
Showing posts with label Windows 8. Show all posts

Friday, November 23, 2012

Met PowerShell snel Hyper-V VMs uitrollen op Windows 8

Vandaag wilde ik even snel 4 virtuele servers uitrollen in Hyper-V op mijn Windows 8 werkstation. Uiteraard kan dat met PowerShell, in dit artikel een kort verslag hiervan.

Voorbereiding

Eerder heb ik al een VM voorzien van Windows Server 2012, dit moest mijn template worden. Na de basisinrichting van deze server, in mijn geval niet veel meer dan het installeren van een paar updates, heb ik deze met Sysprep voorbereid voor het klonen. Sysprep haalt alle computerspecifieke informatie weg en zorgt er voor dat je gekloonde computer start alsof hij nog niet geconfigureerd is. Meet informatie over Sysprep vind je hier: System Preparation (Sysprep) Technical Reference.

Vervolgens heb ik deze VHD op mijn SSD disk gezet. Voor mijn labservers gebruik ik nu een differencing disk die deze template-disk als basis heeft.

image

Het script

Om nu een VM te maken hebben we dus twee taken uit te voeren:

  • Maak een nieuwe differencing disk
  • Maak een VM met de net aangemaakte disk gekoppeld

Voor het samenstellen van mijn script heb ik eerst gekeken welke cmdlets er bestaan binnen de Hyper-V module:

Get-Command -Module Hyper-V

Het resultaat is een lange lijst van 164 cmdlets, waaronder de New-VM en New-VHD cmdlets. Voor meer informatie heb ik de Help-pagina geraadpleegd: Hyper-V Cmdlets in Windows PowerShell, op iedere pagina staat welke parameters de cmdlets ondersteunen. Wat rest is dan een eenvoudig scriptje maken die de twee bovenstaande taken uitvoert en een dit kan herhalen.

Het resultaat:

1..4 | % {

### Construct VM name and VHD path
$VMname = "Lab$_"
$VHDpath = "D:\Hyper-V VHD\$VMname\$VMname.vhdx"

### Create new VHD
New-VHD –ParentPath "C:\VM Templates\_Server 2012\_Server 2012.vhdx" –Path $VHDpath -Differencing

### Create new VM
New-VM -Name $VMname -MemoryStartupBytes 800MB -BootDevice IDE -Path "D:\Hyper-V configs\" -SwitchName "Extern over bedraad" -VHDpath
$VHDpath
}

Om het script uit te voeren moet PowerShell uitgevoerd worden als Administrator. Vervolgens worden de VM’s aangemaakt:

image

Tot besluit

Natuurlijk is dit script slechts een Proof of Concept: de functionaliteit is beperkt, de namen van directories en de switch staan vast, er zit geen error handling in en ook degelijke logging ontbreekt. Maar waar et om gaat is dat je Hyper-V ook vanuit Windows 8 volledig kunt besturen met PowerShell. Nog een reden waarom ik VMware Workstation niet meer nodig heb.

Thursday, March 1, 2012

Windows Server “8”: Een blik op de nieuwe dcpromo-wizard

De Beta van Windows Server “8” zit vol met kleine en grotere verrassingen, maar ook een aantal gebieden die sinds Windows 2000 niet wezenlijk veranderd zijn. Als we kijken naar de dcpromo wizard dan lijkt er op het eerste gezicht weinig veranderd, maar als we beter kijken zien we een aantal opvallende zaken.
Na de installatie van de Active Directory Domain Services rol was me niet helemaal duidelijk waar ik dcpromo op moest starten. Dus opende ik een PowerShell scherm en wilde ik de wizard daar starten:
image
Terug in de Server Manager bleek de link naar deze wizard onder andere te vinden in het nieuwe Notification Area:
image
Als we de wizard starten dan valt op bijna ieder scherm wel iets op. Laten we een aantal schermen eens wat beter bekijken.
image
De drie deployment opties staan nu logisch gegroepeerd op het eerste scherm, afhankelijk van welke opties je kiest wordt ook gelijk de aanvullende informatie gevraagd. In het screenshot heb ik de optie gekozen om een nieuwe domein toe te voegen.
image
De belangrijkste functionele keuzes staan allemaal in het zelfde scherm: DFL en FFL, DSRM password en de opties voor DNS, GC of RODC. In de drop-down list zien we voor DF en FFL de waarde Windows Server 8 Beta staan, deze brengt geen nieuwe  features maar zorgt er wel voor dat we geen oudere domain controllers toe kunnen voegen.
image
Dit is het laatste scherm voordat de daadwerkelijke installatieprocedure begint. In eerste instantie zien we hier weinig nieuws, we kunnen de gemaakte keuzes nog een keer nalopen en hebben de optie om de instellingen op te slaan in een bestand zodat we de installatie kunnen automatiseren. Wat nieuw is, is dat dit nu een PowerShell script is. Als we op de knop View script klikken dan zien we het volgende:
#
# Windows PowerShell script for AD DS Deployment
#

Import-Module ADDSDeployment
Install-ADDSForest `
-CreateDNSDelegation:$false `
-DatabasePath "C:\Windows\NTDS" `
-DomainMode "Win8" `
-DomainName "windows8.local" `
-DomainNetBIOSName "WINDOWS8" `
-ForestMode "Win8" `
-InstallDNS:$true `
-LogPath "C:\Windows\NTDS" `
-RebootOnCompletion:$true `
-SYSVOLPath "C:\Windows\SYSVOL" `
-Force:$true

Of voor de liefhebbers van one-liners, de zelfde opdracht maar dan achter elkaar:
Import-Module ADDSDeployment
Install-ADDSForest -CreateDNSDelegation:$false -DatabasePath "C:\Windows\NTDS" -DomainMode "Win8" -DomainName "windows8.local" -DomainNetBIOSName "WINDOWS8" -ForestMode "Win8" -InstallDNS:$true -LogPath "C:\Windows\NTDS" -RebootOnCompletion:$true -SYSVOLPath "C:\Windows\SYSVOL" -Force:$true

Als er ooit een mooi moment is om een wizard af te breken en PowerShell te starten, dan is het nu wel. In PowerShell importeren we de ADDSDeployment module en starten we Install-ADDSForest:
image
Er wordt ons nu alleen nog om het DSRM password gevraagd, die hadden we in onze opdrachtegel ook nog mee kunnen geven met de –SafeModeAdministratorPassword switch.
image
Na de prerequisit check, die in mijn geval alleen maar warnings (geel) geeft een geen errors (rood), start de daadwerkelijke configuratie. Door de -RebootOnCompletion:$true parameter volgt automatisch een reboot waarna het proces afgerond is. Als we opnieuw inloggen zien we de AD DS verschijnen in de Server Manager.
Voor mij als consultant is de uitgebreide PowerShell ondersteuning voor forests, domains en domain controllers goed nieuws. Dit maakt het nog makkelijker om je werkzaamheden te automatiseren en te documenteren. Verder kunnen we concluderen dat Microsoft blijft investeren in PowerShell, niet alleen als het gaat om nieuwe producten maar ook voor functionaliteit die al lang bestaat.

Wednesday, September 14, 2011

Windows 8 Preview op VMware Workstation of ESX? No can do, sir.

Wie probeert om de Windows Developer Preview, ofwel Windows 8, te installeren op VMware Workstation 7, VMware Player, VMware ESXi of Microsoft Virtual PC ontdekt als snel dat dit niet gaat werken. Onder andere de volgende foutmeldingen komen voor:

*** VMware Player internal monitor error ***
vcpu-0:NOT_IMPLEMENTED vmcore/vmm/intr/apic.c:1903

HAL_INITIALIZATION_FAILED

De reden is dat Windows 8 een aantal ACPI 2.0 feature gebruikt welke niet beschikbaar zijn in deze producten. Wel werkt het prima in VMware Workstation 8, Fusion 4 of in de gratis producten Hyper-V en VirtualBox.

Windows Server 8: Een eerste blik

Eigenlijk moet ik zeggen Windows Server Developer Preview, want zo noemt Microsoft de eerste openbare versie van de opvolger van Windows Server 2008 R2. Het getal 8 verwijst eigenlijk vooral naar de desktopvariant, Windows 8 is immers het logische vervolg op Windows 7. Toch is het nog lang niet duidelijk of Windows 8 ook daadwerkelijk de naam gaat worden van de nieuwe versie voor desktops, laptops en tablets. De geruchten zijn dat Microsoft een aparte naam zal kiezen, misschien om te benadrukken dat het verschil met Windows 7 veel groter is dan slechts het ophogen van een versienummer. De zakelijke wereld heeft niet zo’n behoefte aan fancy namen, dus ga er maar vanuit dat we hier kijken naar Windows Server 2012 of iets dergelijks.

In dit artikel wil ik een eerste blik werpen op wat Windows Server 8 te bieden heeft en ik doe dat op een manier die velen van jullie wel bekend voor zal komen, door het te installeren en wat rond te snuffelen in de interface. Bereid je voor op veel screenshots. Laten we beginnen bij de installatie.

image

Hier valt op dat we kunnen kiezen voor een nieuwe installatievorm, Features On Demand. Volgens de omschrijving gaat het om een volledige installatie waarbij een aantal features op afstand geïnstalleerd kunnen worden. Het is mij op dit moment nog niet duidelijk wat hier mee bedoeld wordt. De installatie van Windows Server gaat zeer snel, ik test in een VM binnen Hyper-V Server 2008 R2 op een 4 jaar oude desktop computer met een eenvoudige SATA disk, en was verbaasd dat ik al na tien minuten in kon loggen.

image

Het inlogscherm geeft gelijk al weg waar we mee te maken hebben: de Metro interface die al bekend is van Windows Phone 7. Dit wordt nog duidelijker als we klikken op het icoon voor Toegankelijkheid:

image

Eén ding is duidelijk, serverbeheer wordt nu mogelijk vanaf een tablet. De opties, ruimte tussen de woorden en buttons zijn groot genoeg om met je vinger te bedienen. Na het inloggen lijken we bij het bekende bureaublad aangekomen zijn, maar onze aandacht wordt direct afgeleid door de eerste ‘app’ in de nieuwe Metro interface: Server Manager.

image

Naast de nieuwe interface laat Server Manager een aantal interessante ontwikkelingen zien. Microsoft zoekt al langere tijd naar een manier om beheerders van kleinere omgevingen een beter inzicht te bieden in de gezondheid van hun omgeving. Meestal zijn dit omgevingen waar (nog) geen gebruik gemaakt wordt van proactieve monitoringsoftware zoals System Center Operations Manager. Het antwoord is Server Groups, deze maken het mogelijk om servers te groeperen op bijvoorbeeld fysieke locatie of rol. Het aanmaken van een Server Group kost slechts een paar muisklikken en we hebben verschillende mogelijkheden om servers te selecteren. Wanneer we in het linkerdeel van het scherm nu naar de aangemaakte groep navigeren krijgen we de mogelijkheid om in een overzicht de status van deze servers in te zien:

image

Het is dan ook niet verrassend dat na installatie van een server de optie Remote Management nu standaard ingeschakeld is:

image

Een andere ontwikkeling die enige jaren geleden al is ingezet is de steeds grotere rol van de Best Practice Analyzers. Het is dan ook niet verbazend dat we in de nieuwe Server Manager in één keer een BPA scan kunnen starten op alle servers in de groep, het zelfde geldt uiteraard voor het inzien van de resultaten.

We laten de Server Manager even voor wat hij is en kijken welke nieuwe features we verder tegenkomen. Goed nieuws voor mensen die met hoog beschikbare omgevingen werken: NIC teaming is nu onderdeel van Windows Server:

image

image

Andere veranderingen zien we in de Add Roles and Features Wizard. Ook hier gaat het niet alleen om het verplaatsen van een knopje hier en daar maar zie je duidelijk dat Microsoft zich richt op hoe jij hun producten daadwerkelijk gebruikt. Bij het toevoegen van een rol kun je nu kiezen of je zelf een optie uit de lijst wilt kiezen, of dat je wilt dat de wizard je helpt om een bepaald scenario te bereiken.

image

image

Is de Preview is nog maar één scenario uitgewerkt, maar het is duidelijk welke kant Microsoft op wil met deze functionaliteit. Wanneer we kiezen voor de “klassieke” manier van roles en features valt op dat we kunnen kiezen op welke server we dit willen doen, geheel in lijn met de benadering die we ook in Server Manager zien. Opvallend is dat we slechts één server kunnen selecteren:

image

Nog interessanter is het alternatief, we kunnen nu roles en features beheren van servers die opgeslagen zijn in een virtual hard disk (VHD) bestand:

image

Uiteraard zien we de zelfde mogelijkheden ook terug in de PowerShell cmdlets voor deze functionaliteit, zie bijvoorbeeld de –ComputerName en –Vhd parameters.

image

Goed nieuws voor mensen zoals ik, die regelmatig een set features willen toevoegen op meerdere servers tegelijk. Stel je voor:

$a = "server1", "server2", "server3", "server4"
foreach ($i in $a) { Install-WindowsFeature Telnet-Client -ComputerName $i }

Overigens wordt hier gebruik gemaakt van WMI, niet van remote PowerShell. Als we nog even bij PowerShell blijven dan valt op dat de module ServerManager standaard aanwezig is, die hoeven we niet eerst te importeren. Een andere welkome verbetering is de aanduiding van fouten. PowerShell zet een rood kringeltje onder het betreffende deel van je regel, inderdaad precies als de spellingscontrole van Word…

image

Conclusie

Een eerste blik in Windows Server 8 leert ons dat Microsoft niet alleen investeert in een nieuwe interface die beheer van een tablet mogelijk maakt, maar het ons ook mogelijk maakt om slimmer, sneller en efficiënter te werken. Verbeteringen klein en groot die we zowel in de GUI als in PowerShell terug vinden.

In een tweede deel van dit artikel zal ik verder in gaan op een aantal andere vernieuwingen in Windows Server 8. Sommigen zijn erg zichtbaar, anderen wat beter verstopt. Stay tuned…