Powershell Core 6.0 onder de loep

Begin januari dit jaar is PowerShell Core 6.0 door Microsoft vrijgegeven, aanleiding voor mij om dit eens onder de loep te nemen. Wat is er nieuw aan deze versie en hoe gebruik ik het, als het al zinvol is?

Allereerst is het belangrijk om uit te leggen dat PowerShell Core verschilt van Windows PowerShell. Zoals de naam al aangeeft is Windows PowerShell alleen beschikbaar voor Windows, PowerShell Core is cross-platform en kan je dus ook installeren op Linux of Mac. Wel zo gemakkelijk om één shell te gebruiken voor alle platforms! Daarbij kent de Core versie ook diverse mogelijkheden cross-platform remoting!

In een wereld waarin we in toenemende mate gebruik maken van IOT-toepassingen en naar de cloud bewegen kan een cross-platform shell van grote toegevoegde waarde zijn om de als maar toenemende grote aantallen te beheren en automatiseren. Denk bijvoorbeeld aan het managen van duizenden “containerized applicaties”. PowerShell Core 6.0 kan een belangrijke hulpmiddel betekenen voor de automatisering in de cloud. Zeker omdat veel beheerders al bekend zijn met de taal en methoden.

Hoe zit het met de compatibiliteit?

In het gebruik met PowerShell Core heb ik gemerkt dat er toch wel een aantal cmdlets ontbreken die hier en daar gebruikt zijn in mijn scripts. Naar mijn inschatting werkt ongeveer 1/5e van mijn scripts niet volledig in PowerShell Core. In de toekomst zal dit veranderen doordat Microsoft de compatibiliteit van PowerShell Core verder uitbreidt.

De PowerShell Editor

Windows PowerShell ISE is gebaseerd op… Windows PowerShell en maakt dus geen gebruik van PowerShell Core. Daarvoor kun je gebruik maken van Visual Studio Code. Laatstgenoemde kent veel meer en uitgebreidere ontwikkelaarsfunctionaliteiten en hulpmiddelen.
Zo voert het een aantal controles uit en geeft het geeft ook bestpractice-hits om je script leesbaar te maken en te houden, een voorbeeld daarvan zie je hieronder:

Na een korte wen-periode ben ik de Visual Studio Editor wel zeker gaan waarderen. Als je PowerShell Core wilt gebruiken, dan is het wel nodig om dit in te stellen via dit artikel, standaard maakt de editor gebruik van Windows PowerShell. Je kunt Visual Studio dus ook gebruiken voor Windows PowerShell.
Om Visual Studio standaard te openen met in de Powershell language kun je onderstaande regel toevoegen in de user settings:

“files.defaultLanguage”:

“powershell”

Dit maakt de Windows PowerShell ISE ervaring compleet!

De toekomst van Windows PowerShell en Core

Op dit moment heeft Microsoft geen plannen voor nieuwe Windows PowerShell functionaliteiten. Nog niet alle cmdlets zijn beschikbaar in PowerShell Core, er wordt hard gewerkt aan de compatibiliteit met Windows Powershell 5.1.
Microsoft heeft geen plannen voor nieuwe functionaliteiten voor Windows PowerShell, dit platform blijft voorlopig nog wel ondersteund door Microsoft via de Windows en Windows server ondersteuning.

De Core versie van PowerShell is nog geen volwaardige vervanger van Windows PowerShell. In de praktijk loop je soms tegen de beperkingen aan maar dat is beperkt. De uitbreiding van PowerShell naar andere platforms als Linux maakt dat PowerShell een sterke rol kan spelen in het automatiseren van diverse cloud diensten en toepassingen. Zo bevat de volgende versie uitbreidingen specifiek voor IOT, daarnaast wordt het gemakkelijker om de prestaties van bulk operaties te verbeteren.

Ik verwacht dat de PowerShell Core uiteindelijk Windows PowerShell zal overgroeien qua functionaliteit en de defacto standaard wordt. Daarom ontwikkel ik de scripts standaard in PowerShell Core om een migratie vanaf Windows PowerShell te voorkomen.

De ene Azure Stack is de andere niet

General Available. Het is de term die Microsoft hanteert voor producten die het stadium van publieke verkoop hebben bereikt. In veel gevallen gebruikt de reus uit Redmond alleen de afkorting GA om kenbaar te maken dat een product beschikbaar is of wanneer het verwacht het product beschikbaar te hebben. Afgelopen september vierde Microsoft en een select groepje leveranciers feest, want na de nodige vertraging is Azure Stack nu écht GA geworden. Nieuws van dermate grote omvang dat een serieus aantal sessies op Microsoft Ignite in het teken stond van Azure Stack.

De digitale speeltuin die Azure heet

In veel bedrijfsomgevingen wordt Azure enkel gebruikt als hosting-platform voor (web)servers en databases. Dat is in zekere zin wel zonde, want er zijn veel meer leuke dingen mogelijk. Sterker nog: eigenlijk kan tegenwoordig zo ongeveer alles wel in de cloud. En waar Microsoft vroeger alleen Microsoft adviseerde, kan Azure nu probleemloos met andere platformen en technologieën overweg.

System Center en de cloud, deel 1: Put your money where your mouth is…

Microsoft is een paar jaar geleden een geheel nieuwe weg ingeslagen. Daarbij is de primaire focus op de cloud komen te liggen. Alles wat Microsoft doet vindt sindsdien plaats op basis van de inmiddels zeer bekende ‘Mobile-First, Cloud-First’ strategie. Een belangrijk vraagstuk vandaag de dag is: wat betekent deze nieuwe strategie voor de System Center suite? In een serie van drie delen deel ik mijn visie op dit vlak, waarbij dit eerste deel inzoomt op SCCM en SCOrch.

Azure als WAN

Wie aan de cloud denkt, denkt meestal aan virtuele servers, databases en applicaties. Wat minder breed belicht wordt is de mogelijkheid om het Azure netwerk van Microsoft te gebruiken als WAN-verbinding. Dit kan in sommige situaties een zeer interessante toepassing zijn.

Efficiënt en snel met Hyper-V en PowerShell

In onze dagelijkse werkzaamheden hebben we nog steeds veel te maken met on-premises omgevingen, naast alle ontwikkelingen in de publieke clouds zoals Microsoft Azure en Amazon Web Services. Als je wilt experimenteren met het bouwen van je eigen Windows infrastructuur dan kun je dat doen met Hyper-V. Dat wordt door Microsoft standaard meegeleverd vanaf Windows 8. Het fijne van Hyper-V is dat het te automatiseren is met PowerShell. Nadat ik dit zag bij een collega, bouw ik mijn labs nooit meer met de hand. Met onderstaande uitleg kun je zelf na wat voorbereiding in een handomdraai een lab-omgeving met meerdere Windows Server 2016 instanties opbouwen.

Windows Server 2016: Storage Spaces Direct

Windows Server 2012 bracht al een deel van de functionaliteit: Storage Spaces, een techniek die het mogelijk maakt de aanwezige storage te virtualizeren en daarmee de toewijzing flexibel in te richten. Met R2 kwam daar de mogelijkheid bij om gebruik te maken van storage-tiers. Daardoor konden snelle SSD’s worden toegevoegd die de veel gevraagde data snel beschikbaar hebben en de “trage” disken ontlasten. Hoewel dit voor stand-alone servers een goede oplossing is, was het gebruik van deze techniek in een cluster (bijv. Scale Out File Server) afhankelijk van een centrale JBOD storage-unit. Daarmee ontstaat gelijk een single point of failure. Kan dat niet anders….?

Security van binnenuit

Beveiliging van IT systemen krijgt steeds meer aandacht. En terecht! We horen, zien en lezen in de media steeds meer over hack-pogingen en ddos aanvallen. Ook vanuit de overheid krijgen we als bedrijfsleven een zetje in de rug om aandacht te hebben voor security. Denk dan bijvoorbeeld aan de wet rondom datalekken. Niemand zit te wachten op een melding in een register, laat staan een boete die kan oplopen tot 10% van de jaaromzet. En dan hebben we het nog niet eens over commerciële spionage.