Windows PowerShell Handleiding'programmeurs
Deze programmeerhandleiding is gericht op ontwikkelaars die geïnteresseerd zijn in het bieden van een opdrachtregelbeheeromgeving voor systeembeheerders. Windows PowerShell biedt een eenvoudige manier om beheeropdrachten te maken waarmee .NET-objecten worden weergeven, terwijl Windows PowerShell meeste werk voor u kunnen doen.
Bij de traditionele opdrachtontwikkeling moet u een parameterparser, een parameterbinder, filters en alle andere functionaliteit schrijven die door elke opdracht beschikbaar wordt gemaakt. Windows PowerShell biedt het volgende om het eenvoudig te maken om opdrachten te schrijven:
Een krachtige Windows PowerShell runtime (uitvoeringsen engine) met een eigen parser en een mechanisme voor het automatisch binden van opdrachtparameters.
Hulpprogramma's voor het opmaken en weergeven van opdrachtresultaten met behulp van een opdrachtregel-interpreter (CLI).
Ondersteuning voor hoge functionaliteitsniveaus (via Windows PowerShell providers) die het eenvoudig maken om toegang te krijgen tot opgeslagen gegevens.
Tegen weinig kosten kunt u een .NET-object vertegenwoordigen door een uitgebreide opdracht of set opdrachten die de beheerder een volledige opdrachtregelervaring biedt.
De volgende sectie bevat de belangrijkste Windows PowerShell en termen. Vertrouwd raken met deze concepten en termen voordat u begint met ontwikkelen.
Over Windows PowerShell
Windows PowerShell definieert verschillende soorten opdrachten die u in ontwikkeling kunt gebruiken. Deze opdrachten omvatten: functies, filters, scripts, aliassen en uitvoerbare bestanden (toepassingen). Het belangrijkste opdrachttype dat in deze handleiding wordt besproken, is een eenvoudige, kleine opdracht die een cmdlet wordt genoemd. Windows PowerShell een set cmdlets en biedt volledige ondersteuning voor het aanpassen van cmdlets aan uw omgeving. De Windows PowerShell runtime verwerkt alle opdrachttypen op dezelfde als cmdlets, met behulp van pijplijnen.
Naast opdrachten ondersteunt Windows PowerShell verschillende aanpasbare Windows PowerShell-providers die specifieke sets cmdlets beschikbaar maken. De shell werkt binnen de door Windows PowerShell geleverde hosttoepassing (Windows PowerShell.exe), maar is net zo toegankelijk vanuit een aangepaste hosttoepassing die u kunt ontwikkelen om te voldoen aan specifieke vereisten. Zie How Windows PowerShell Works (Hoe Windows PowerShell werkt) voor meer informatie.
Windows PowerShell-cmdlets
Een cmdlet is een lichtgewicht opdracht die wordt gebruikt in de Windows PowerShell omgeving. De Windows PowerShell-runtime roept deze cmdlets aan binnen de context van automatiseringsscripts die worden geleverd op de opdrachtregel en de Windows PowerShell-runtime roept ze ook programmatisch aan via Windows PowerShell API's.
Zie Writing a Windows PowerShell Cmdlet (Een cmdlet Windows PowerShell) voor meer informatie over cmdlets.
Windows PowerShell Providers
Bij het uitvoeren van beheertaken moet de gebruiker mogelijk gegevens onderzoeken die zijn opgeslagen in een gegevensopslag (bijvoorbeeld het bestandssysteem, het Windows-register of een certificaatopslag). Om deze bewerkingen eenvoudiger te maken, definieert Windows PowerShell een module met de naam Windows PowerShell-provider die kan worden gebruikt voor toegang tot een specifiek gegevensopslag, zoals Windows Registry. Elke provider ondersteunt een set gerelateerde cmdlets om de gebruiker een symmetrische weergave van de gegevens in de store te geven.
Windows PowerShell biedt verschillende standaardproviders Windows PowerShell gebruiken. De registerprovider ondersteunt bijvoorbeeld navigatie en manipulatie van Windows Register. Registersleutels worden weergegeven als items en registerwaarden worden behandeld als eigenschappen.
Als u een gegevensopslag beschikbaar maakt die de gebruiker moet openen, moet u mogelijk uw eigen Windows PowerShell-provider schrijven, zoals beschreven in Windows PowerShell Providers maken. Zie How Windows PowerShell Works (Hoe werkt Windows PowerShell) voor meer informatie overWindows PowerShell-providers.
Hosttoepassing
Windows PowerShell bevat de standaardhosttoepassings-powershell.exe. Dit is een consoletoepassing die communiceert met de gebruiker en de Windows PowerShell-runtime host met behulp van een consolevenster.
Slechts zelden hoeft u uw eigen hosttoepassing te schrijven voor Windows PowerShell, hoewel aanpassing wordt ondersteund. Een geval waarin u mogelijk uw eigen toepassing nodig hebt, is wanneer u een gui-interface nodig hebt die uitgebreider is dan de interface die wordt geleverd door de standaardhosttoepassing. Mogelijk wilt u ook een aangepaste toepassing wanneer u uw gebruikersinterface op de opdrachtregel baseert. Zie How to Create a Windows PowerShell Host Application (Een Windows PowerShell hosttoepassing) voor meer informatie.
Windows PowerShell Runtime
De Windows PowerShell runtime is de uitvoeringsen engine die opdrachtverwerking implementeert. Het bevat de klassen die de interface bieden tussen de hosttoepassing en Windows PowerShell opdrachten en providers. De Windows PowerShell runtime wordt geïmplementeerd als een runspace-object voor de huidige Windows PowerShell-sessie. Dit is de operationele omgeving waarin de shell en de opdrachten worden uitgevoerd. Zie How Windows PowerShell Works (Hoe Windows PowerShell werkt) voor operationele details.
Windows PowerShell Language
De Windows PowerShell biedt scriptfuncties en -mechanismen om opdrachten aan te roepen. Zie voor volledige scriptinformatie de Windows PowerShell Language Reference die is geleverd met Windows PowerShell.
Extended Type System (ETS)
Windows PowerShell biedt toegang tot verschillende objecten, zoals .NET- en XML-objecten. Als gevolg hiervan wordt voor het presenteren van een gemeenschappelijke abstractie voor alle objecttypen de shell het uitgebreide type systeem (ETS) gebruikt. De meeste ETS-functionaliteit is transparant voor de gebruiker, maar het script of de .NET-ontwikkelaar gebruikt deze voor de volgende doeleinden:
Een subset van de leden van specifieke objecten weergeven. Windows PowerShell biedt een 'aangepaste' weergave van verschillende specifieke objecttypen.
Leden toevoegen aan bestaande objecten.
Toegang tot geseraliseerde objecten.
Aangepaste objecten schrijven.
Met ETS kunt u flexibele nieuwe typen maken die compatibel zijn met de Windows PowerShell taal. Als u een .NET-ontwikkelaar bent, kunt u werken met objecten met dezelfde semantiek als de Windows PowerShell-taal die van toepassing is op het uitvoeren van scripts, bijvoorbeeld om te bepalen of een object als wordt
true
geëvalueerd.Zie objectconcepten voor meer informatie Windows PowerShell Windows PowerShell over ets en hoe Windows PowerShell objecten gebruikt.
Programmeren voor Windows PowerShell
Windows PowerShell definieert de code voor opdrachten, providers en andere programmamodules met behulp van de .NET Framework. U bent niet beperkt tot het gebruik van Microsoft Visual Studio bij het maken van aangepaste modules voor Windows PowerShell, hoewel bekend is dat de voorbeelden in deze handleiding in dit hulpprogramma worden uitgevoerd. U kunt elke .NET-taal gebruiken die ondersteuning biedt voor klasse-overname en het gebruik van kenmerken. In sommige gevallen is Windows PowerShell dat de programmeertaal toegang moet hebben tot algemene typen.
Naslag voor programmeurs
Zie de SDK voor Windows PowerShell voor na Windows PowerShell slag.
Aan de slag met Windows PowerShell
Voor meer informatie over het gebruik van de Windows PowerShell shell, zie de Aan de slag met Windows PowerShell verzonden met Windows PowerShell. Er wordt ook een drievoudige Quick Reference-document geleverd als basis voor het gebruik van cmdlet.
Inhoud van deze handleiding
Onderwerp | Definitie |
---|---|
Een Windows PowerShell-provider maken | In deze sectie wordt beschreven hoe u een Windows PowerShell-provider voor Windows PowerShell. |
Een Windows PowerShell hosttoepassing maken | In deze sectie wordt beschreven hoe u een hosttoepassing schrijft die een runspace bewerkt en hoe u een hosttoepassing schrijft die een eigen aangepaste host implementeert. |
Een Windows PowerShell-module maken | In deze sectie wordt beschreven hoe u een module maakt die wordt gebruikt om alle cmdlets en providers in een assembly te registreren en hoe u een aangepaste module maakt. |
Een console-shell maken | In deze sectie wordt beschreven hoe u een consoleshell maakt die niet kan worden gebruikt. |
Windows PowerShell-concepten | Deze sectie bevat conceptuele informatie die u helpt inzicht te krijgen Windows PowerShell vanuit het oogpunt van een ontwikkelaar. |