De Windows PowerShell-SDK installerenInstalling the Windows PowerShell SDK

Het volgende onderwerp wordt beschreven hoe de PowerShell-SDK installeren op verschillende versies van Windows.The following topic describes how to install the PowerShell SDK on different versions of Windows.

Windows PowerShell 3.0 installeren SDK voor Windows 8 en WindowsServer 2012Installing Windows PowerShell 3.0 SDK for Windows 8 and Windows Server 2012

Windows PowerShell 3.0 wordt automatisch geïnstalleerd met Windows 8 en Windows Server 2012.Windows PowerShell 3.0 is automatically installed with Windows 8 and Windows Server 2012. Bovendien kunt u downloaden en de verwijzings-assembly's voor Windows PowerShell 3.0 installeren als onderdeel van de Windows 8-SDK.In addition, you can download and install the reference assemblies for Windows PowerShell 3.0 as part of the Windows 8 SDK. Deze assembly's kunnen u voor het schrijven van cmdlets, providers en host-programma's voor Windows PowerShell 3.0.These assemblies allow you to write cmdlets, providers, and host programs for Windows PowerShell 3.0. Wanneer u de Windows SDK voor Windows 8 installeert, wordt de Windows PowerShell-assembly's worden automatisch geïnstalleerd in de map van de verwijzing naar assembly in \Program bestanden (x86) \Reference Assemblies\Microsoft\WindowsPowerShell\3.0.When you install the Windows SDK for Windows 8, the Windows PowerShell assemblies are automatically installed in the reference assembly folder, in \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0. Zie voor meer informatie de site voor het downloaden van Windows 8 SDK.For more information, see the Windows 8 SDK download site. Windows PowerShell-codevoorbeelden zijn ook beschikbaar in het Center ontwikkeling.Windows PowerShell code samples are also available on the Development Center. Zie voor meer informatie de voorbeeldpagina bureaublad code op de Dev center site.For more information, see the Desktop code sample page on the Dev center site.

Windows PowerShell 3.0 is bovendien achterwaarts compatibel met de Windows PowerShell 2.0 SDK, waaronder een aantal codevoorbeelden.In addition, Windows PowerShell 3.0 is backwards-compatible with the Windows PowerShell 2.0 SDK, which includes a number of code samples. Zie hieronder voor meer informatie over het downloaden van de Windows PowerShell 2.0-SDK.For more information on how to download the Windows PowerShell 2.0 SDK, see below. (Opmerking terwijl de 2.0 codevoorbeelden die compatibel met Windows 8 en Windows PowerShell 3.0 zijn, u Windows PowerShell 2.0 op een Windows 8-platform installeren kunt).(Note that while the 2.0 code samples are compatible with Windows 8 and Windows PowerShell 3.0, you cannot install Windows PowerShell 2.0 on a Windows 8 platform.)

Windows PowerShell 3.0 installeren SDK voor Windows 7 en Windows Server 2008 R2Installing Windows PowerShell 3.0 SDK for Windows 7 and Windows Server 2008 R2

Windows 7 en Windows Server 2008 R2 hebben automatisch PowerShell 2.0 is geïnstalleerd.Windows 7 and Windows Server 2008 R2 automatically have PowerShell 2.0 installed. Bovendien kunt u PowerShell 3.0 installeren op deze systemen.In addition, you can install PowerShell 3.0 on these systems. (Zie voor meer informatie Windows PowerShell installeren.).(For more information, see Installing Windows PowerShell.). Zoals hierboven wordt beschreven, kunt u ook de Windows 8-SDK installeren op Windows 7 en Windows Server 2008 R2.As described above, you can also install the Windows 8 SDK on Windows 7 and Windows Server 2008 R2.

Windows PowerShell 2.0 installeren SDK voor Windows 7, Vista, XP, Server 2003 en Server 2008Installing Windows PowerShell 2.0 SDK for Windows 7, Vista, XP, Server 2003, and Server 2008

De Windows PowerShell 2.0 SDK biedt de verwijzings-assembly's die nodig zijn voor het schrijven van cmdlets, providers en hosting van toepassingen en biedt C# voorbeeldcode die kan worden gebruikt als uitgangspunt wanneer u begint met het schrijven van code.The Windows PowerShell 2.0 SDK provides the reference assemblies needed to write cmdlets, providers, and hosting applications, and it provides C# sample code that can be used as the starting point when you begin writing code.

Zie het installeren van deze SDK Windows PowerShell 2.0 SDK.To install this SDK, see Windows PowerShell 2.0 SDK.

Assembly-verwijzingenReference assemblies

Verwijzings-assembly's worden standaard geïnstalleerd in de volgende locatie: c:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0.Reference assemblies are installed in the following location by default: c:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0.

Opmerking: Code die wordt samengesteld op basis van de Windows PowerShell 2.0-assembly's kan niet worden geladen in de Windows PowerShell 1.0-installaties.Note: Code that is compiled against the Windows PowerShell 2.0 assemblies cannot be loaded into Windows PowerShell 1.0 installations. Code die wordt samengesteld op basis van de Windows PowerShell 1.0-assembly's kan echter worden geladen in de Windows PowerShell 2.0-installaties.However, code that is compiled against the Windows PowerShell 1.0 assemblies can be loaded into Windows PowerShell 2.0 installations.

VoorbeeldenSamples

Codevoorbeelden zijn standaard geïnstalleerd in de volgende locatie: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\.Code samples are installed in the following location by default: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\.

De volgende secties bieden een korte beschrijving van wat elk voorbeeld doet.The following sections provide a brief description of what each sample does.

Voorbeelden van de cmdletCmdlet samples

GetProcessSample01GetProcessSample01

Toont hoe u een eenvoudige cmdlet die alle processen op de lokale computer wordt schrijft.Shows how to write a simple cmdlet that gets all the processes on the local computer.

GetProcessSample02GetProcessSample02

Toont hoe u parameters toevoegt aan de cmdlet.Shows how to add parameters to the cmdlet. De cmdlet heeft een of meer procesnamen en retourneert het overeenkomende processen.The cmdlet takes one or more process names and returns the matching processes.

GetProcessSample03GetProcessSample03

Laat zien hoe u de parameters die vanuit de pipeline-invoer accepteren toevoegen.Shows how to add parameters that accept input from the pipeline.

GetProcessSample04GetProcessSample04

Laat zien hoe nonterminating fouten worden verwerkt.Shows how to handle nonterminating errors.

GetProcessSample05GetProcessSample05

Laat zien hoe u een lijst weergegeven met de opgegeven processen.Shows how to display a list of specified processes.

ObjectSelecterenSelectObject

Laat zien hoe een schrijffilter is als alleen bepaalde objecten wilt selecteren.Shows how to write a filter to select only certain objects.

SelectStringSelectString

Laat zien hoe u bestanden voor de opgegeven patronen te zoeken.Shows how to search files for specified patterns.

StopProcessSample01StopProcessSample01

Toont hoe u implementeert een PassThru parameter en het aanvragen van feedback van gebruikers door het aanroepen van de ShouldProcess en ShouldContinue methoden.Shows how to implement a PassThru parameter, and how to request user feedback by calls to the ShouldProcess and ShouldContinue methods. Gebruikers opgeven de PassThru parameter wanneer ze graag willen afdwingen van de cmdlet om een object te retournerenUsers specify the PassThru parameter when they want to force the cmdlet to return an object,

StopProcessSample02StopProcessSample02

Laat zien hoe u een specifiek proces stoppen.Shows how to stop a specific process.

StopProcessSample03StopProcessSample03

Toont hoe declareren aliassen voor parameters en hoe u kunt jokertekens ondersteunen.Shows how to declare aliases for parameters and how to support wildcards.

StopProcessSample04StopProcessSample04

Laat zien hoe declareren parametersets, het object dat de cmdlet neemt als invoer- en het opgeven van de standaardparameter ingesteld om te gebruiken.Shows how to declare parameter sets, the object that the cmdlet takes as input, and how to specify the default parameter set to use.

Voorbeelden van externe toegangRemoting samples

RemoteRunspace01RemoteRunspace01

Toont het maken van een externe runspace die wordt gebruikt om een externe verbinding te maken.Shows how to create a remote runspace that is used to establish a remote connection.

RemoteRunspacePool01RemoteRunspacePool01

Leest het samenstellen van een groep met externe runspace en meerdere opdrachten gelijktijdig worden uitgevoerd met behulp van deze groep.Shows how to construct a remote runspace pool and how to run multiple commands concurrently by using this pool.

Serialization01Serialization01

Laat zien hoe u kijken naar een bestaande .NET-klasse en zorg ervoor dat de gegevens van de geselecteerde openbare eigenschappen van deze klasse behouden tussen serialisatie/deserialisatie blijft.Shows how to look at an existing .NET class and make sure that information from selected public properties of this class is preserved across serialization/deserialization.

Serialization02Serialization02

Laat zien hoe u kijken naar een bestaande .NET-klasse en zorg ervoor dat de gegevens van het exemplaar van deze klasse is behouden in serialisatie/deserialisatie wanneer de gegevens niet beschikbaar in de openbare eigenschappen van de klasse zijn.Shows how to look at an existing .NET class and make sure that information from instance of this class is preserved across serialization/deserialization when the information is not available in public properties of the class.

Serialization03Serialization03

Laat zien hoe u kijken naar een bestaande .NET-klasse en zorg ervoor dat de exemplaren van deze klasse en afgeleide klassen (zijn gerehydrateerd) in live .NET-objecten worden gedeserialiseerd.Shows how to look at an existing .NET class and make sure that instances of this class and of derived classes are deserialized (rehydrated) into live .NET objects.

Voorbeelden van gebeurtenisEvent samples

Event01Event01

Toont hoe u een cmdlet voor gebeurtenisregistratie maakt die zijn afgeleid van ObjectEventRegistrationBase.Shows how to create a cmdlet for event registration by deriving from ObjectEventRegistrationBase.

Event02Event02

Toont hoe om te zien hoe ontvangen van meldingen van Windows PowerShell-gebeurtenissen die worden gegenereerd op externe computers.Shows how to shows how to receive notifications of Windows PowerShell events that are generated on remote computers. Deze maakt gebruik van de gebeurtenis PSEventReceived is beschikbaar via de Runspace klasse.It uses the PSEventReceived event exposed through the Runspace class.

Voorbeelden van de toepassing die als host fungeertHosting application samples

Runspace01Runspace01

Laat zien hoe u de PowerShell klasse om uit te voeren de Get-Process cmdlet synchroon.Shows how to use the PowerShell class to run the Get-Process cmdlet synchronously. De Get-Process cmdlet retourneert proces objecten voor elk proces dat wordt uitgevoerd op de lokale computer.The Get-Process cmdlet returns Process objects for each process running on the local computer.

Runspace02Runspace02

Laat zien hoe u de PowerShell klasse om uit te voeren de Get-Process en Sort-Object cmdlets synchroon.Shows how to use the PowerShell class to run the Get-Process and Sort-Object cmdlets synchronously. De Get-Process cmdlet retourneert proces objecten voor elk verwerkt op de lokale computer en de Sort-Object sorteert de objecten op basis van hun Id eigenschap.The Get-Process cmdlet returns Process objects for each process running on the local computer, and the Sort-Object sorts the objects based on their Id property. De resultaten van deze opdrachten wordt weergegeven met behulp van een DataGridView besturingselement.The results of these commands is displayed by using a DataGridView control.

Runspace03Runspace03

Laat zien hoe u de PowerShell klasse synchroon een script uitvoeren en het afhandelen van fouten niet wordt beëindigd.Shows how to use the PowerShell class to run a script synchronously, and how to handle non-terminating errors. Het script ontvangt een lijst met procesnamen en wordt vervolgens opgehaald die processen.The script receives a list of process names and then retrieves those processes. De resultaten van het script, met inbegrip van eventuele fouten niet wordt beëindigd, die zijn gegenereerd tijdens het uitvoeren van het script worden weergegeven in een consolevenster.The results of the script, including any non-terminating errors that were generated when running the script, are displayed in a console window.

Runspace04Runspace04

Laat zien hoe u de PowerShell klasse uitvoeren van opdrachten, en hoe wordt beëindigd catch-fouten die worden gegenereerd wanneer de opdrachten uit te voeren.Shows how to use the PowerShell class to run commands, and how to catch terminating errors that are thrown when running the commands. Twee opdrachten worden uitgevoerd en de laatste opdracht wordt een parameterargument is niet geldig doorgegeven.Two commands are run, and the last command is passed a parameter argument that is not valid. Als gevolg hiervan geen objecten worden geretourneerd en een beëindigingsfout gegenereerd.As a result, no objects are returned and a terminating error is thrown.

Runspace05Runspace05

Laat zien hoe een module toevoegen aan een InitialSessionState object zodat de cmdlet van de module beschikbaar is wanneer de runspace wordt geopend.Shows how to add a snap-in to an InitialSessionState object so that the cmdlet of the snap-in is available when the runspace is opened. De invoegtoepassing biedt u een cmdlet Get-Proc (gedefinieerd door de GetProcessSample01 voorbeeld) die synchroon wordt uitgevoerd met behulp van een PowerShell object.The snap-in provides a Get-Proc cmdlet (defined by the GetProcessSample01 Sample) that is run synchronously by using a PowerShell object.

Runspace06Runspace06

Ziet u het toevoegen van een module die u wilt een InitialSessionState object zodat de module wordt geladen wanneer de runspace wordt geopend.Shows how to add a module to an InitialSessionState object so that the module is loaded when the runspace is opened. De module biedt een cmdlet Get-Proc (gedefinieerd door de GetProcessSample02 voorbeeld) die synchroon wordt uitgevoerd met behulp van een PowerShell object.The module provides a Get-Proc cmdlet (defined by the GetProcessSample02 Sample) that is run synchronously by using a PowerShell object.

Runspace07Runspace07

Laat zien hoe een runspace maken en vervolgens die runspace gebruiken voor het uitvoeren van de twee cmdlets synchroon met behulp van een PowerShell object.Shows how to create a runspace, and then use that runspace to run two cmdlets synchronously by using a PowerShell object.

Runspace08Runspace08

Laat zien hoe u opdrachten, argumenten en toevoegen aan de pijplijn met een PowerShell object en het uitvoeren van de opdrachten synchroon.Shows how to add commands and arguments to the pipeline of a PowerShell object and how to run the commands synchronously.

Runspace09Runspace09

Laat zien hoe u een script toevoegen aan de pijplijn met een PowerShell object en hoe u het script asynchroon uitgevoerd.Shows how to add a script to the pipeline of a PowerShell object and how to run the script asynchronously. Gebeurtenissen worden gebruikt voor het afhandelen van de uitvoer van het script.Events are used to handle the output of the script.

Runspace10Runspace10

Het maken van een eerste sessie standaardstatus het toevoegen van een cmdlet voor het InitialSessionState, het maken van een runspace die gebruikmaakt van de status van de eerste sessie en hoe u de opdracht uitvoert met behulp van een PowerShellobject.Shows how to create a default initial session state, how to add a cmdlet to the InitialSessionState, how to create a runspace that uses the initial session state, and how to run the command by using a PowerShell object.

Runspace11Runspace11

Laat zien hoe u de ProxyCommand klasse voor het maken van een proxy-opdracht die een bestaande cmdlet aangeroepen, maar Hiermee beperkt u de set beschikbare parameters.Shows how to use the ProxyCommand class to create a proxy command that calls an existing cmdlet, but restricts the set of available parameters. De proxy-opdracht wordt vervolgens toegevoegd aan de status van een eerste sessie die wordt gebruikt voor het maken van een beperkte runspace.The proxy command is then added to an initial session state that is used to create a constrained runspace. Dit betekent dat de gebruiker toegang krijgen de functionaliteit van de cmdlet alleen via de proxy-opdracht tot.This means that the user can access the functionality of the cmdlet only through the proxy command.

PowerShell01PowerShell01

Het maken van een beperkte runspace met een InitialSessionState object.Shows how to create a constrained runspace using an InitialSessionState object.

PowerShell02PowerShell02

Toont hoe u een groep runspace met meerdere opdrachten gelijktijdig worden uitgevoerd.Shows how to use a runspace pool to run multiple commands concurrently.

Voorbeelden van hostHost samples

Host01Host01

Laat zien hoe u een hosttoepassing die gebruikmaakt van een aangepaste host implementeren.Shows how to implement a host application that uses a custom host. In dit voorbeeld wordt een runspace gemaakt die gebruikmaakt van de aangepaste host, en vervolgens de PowerShell API wordt gebruikt voor het uitvoeren van een script dat roept 'afsluiten'.In this sample a runspace is created that uses the custom host, and then the PowerShell API is used to run a script that calls "exit". De hosttoepassing vervolgens kijkt naar de uitvoer van het script en de resultaten wordt afgedrukt.The host application then looks at the output of the script and prints out the results.

Host02Host02

Laat zien hoe u een hosttoepassing die gebruikmaakt van de Windows PowerShell-runtime samen met een aangepaste host-implementatie schrijven.Shows how to write a host application that uses the Windows PowerShell runtime along with a custom host implementation. De hosttoepassing wordt de cultuur host ingesteld op Duits, wordt uitgevoerd de Get-Process cmdlet en geeft de resultaten op als u ze met behulp van pwrsh.exe en vervolgens afdrukken bestellen uit de huidige datum en tijd in het Duits zou zien.The host application sets the host culture to German, runs the Get-Process cmdlet and displays the results as you would see them by using pwrsh.exe, and then prints out the current data and time in German.

Host03Host03

Laat zien hoe een interactieve via de console-hosttoepassing bouwt die opdrachten leest vanaf de opdrachtregel, voert de opdrachten en vervolgens de resultaten naar de console weergegeven.Shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console.

Host04Host04

Laat zien hoe een interactieve via de console-hosttoepassing bouwt die opdrachten leest vanaf de opdrachtregel, voert de opdrachten en vervolgens de resultaten naar de console weergegeven.Shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console. Deze hosttoepassing ondersteunt ook weergeven prompts waarmee de gebruiker meerdere keuzes opgeven.This host application also supports displaying prompts that allow the user to specify multiple choices.

Host05Host05

Laat zien hoe een interactieve via de console-hosttoepassing bouwt die opdrachten leest vanaf de opdrachtregel, voert de opdrachten en vervolgens de resultaten naar de console weergegeven.Shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console. Deze hosttoepassing ondersteunt ook aanroepen naar externe computers met behulp van de Enter-PsSession en afsluiten-PsSession cmdlets.This host application also supports calls to remote computers by using the Enter-PsSession and Exit-PsSession cmdlets.

Host06Host06

Laat zien hoe een interactieve via de console-hosttoepassing bouwt die opdrachten leest vanaf de opdrachtregel, voert de opdrachten en vervolgens de resultaten naar de console weergegeven.Shows how to build an interactive console-based host application that reads commands from the command line, executes the commands, and then displays the results to the console. Dit voorbeeld gebruikt bovendien de Tokenizer-API's de kleur van de tekst die is ingevoerd door de gebruiker opgeven.In addition, this sample uses the Tokenizer APIs to specify the color of the text that is entered by the user.

Voorbeelden van de providerProvider samples

AccessDBProviderSample01AccessDBProviderSample01

Laat zien hoe declareren een providerklasse die is afgeleid rechtstreeks vanuit de CmdletProvider klasse.Shows how to declare a provider class that derives directly from the CmdletProvider class. Het is hier opgenomen voor de volledigheid.It is included here only for completeness.

AccessDBProviderSample02AccessDBProviderSample02

Laat zien hoe overschrijven de NewDrive en RemoveDrive methoden voor het aanroepen van de cmdlets nieuw PSDrive en verwijder PSDrive ondersteunen.Shows how to overwrite the NewDrive and RemoveDrive methods to support calls to the New-PSDrive and Remove-PSDrive cmdlets. De providerklasse in dit voorbeeld is afgeleid van de DriveCmdletProvider klasse.The provider class in this sample derives from the DriveCmdletProvider class.

AccessDBProviderSample03AccessDBProviderSample03

Laat zien hoe overschrijven de GetItem en SetItem methoden ter ondersteuning van aanroepen naar de cmdlets Get-Item en Set-Item.Shows how to overwrite the GetItem and SetItem methods to support calls to the Get-Item and Set-Item cmdlets. De providerklasse in dit voorbeeld is afgeleid van de ItemCmdletProvider klasse.The provider class in this sample derives from the ItemCmdletProvider class.

AccessDBProviderSample04AccessDBProviderSample04

Laat zien hoe overschrijven containermethoden ter ondersteuning van aanroepen naar de Copy-Item, Get-ChildItem New-Item en Remove-Item-cmdlets.Shows how to overwrite container methods to support calls to the Copy-Item, Get-ChildItem, New-Item, and Remove-Item cmdlets. Deze methoden moeten worden uitgevoerd wanneer het gegevensarchief bevat items die containers zijn.These methods should be implemented when the data store contains items that are containers. Een container is een groep van onderliggende items onder een gemeenschappelijk bovenliggend item.A container is a group of child items under a common parent item. De providerklasse in dit voorbeeld is afgeleid van de ItemCmdletProvider klasse.The provider class in this sample derives from the ItemCmdletProvider class.

AccessDBProviderSample05AccessDBProviderSample05

Laat zien hoe overschrijven containermethoden ter ondersteuning van aanroepen naar de cmdlets Item verplaatsen en Join-pad.Shows how to overwrite container methods to support calls to the Move-Item and Join-Path cmdlets. Deze methoden moeten worden uitgevoerd wanneer de gebruiker moet items binnen een container verplaatsen en als het gegevensarchief geneste containers bevat.These methods should be implemented when the user needs to move items within a container and if the data store contains nested containers. De providerklasse in dit voorbeeld is afgeleid van de NavigationCmdletProvider klasse.The provider class in this sample derives from the NavigationCmdletProvider class.

AccessDBProviderSample06AccessDBProviderSample06

Laat zien hoe u inhoud methoden ter ondersteuning van aanroepen naar de versleutelde inhoud overschrijven Get-inhoud en Set-Content-cmdlets.Shows how to overwrite content methods to support calls to the Clear-Content, Get-Content, and Set-Content cmdlets. Deze methoden moeten worden uitgevoerd wanneer de gebruiker nodig heeft voor het beheren van de inhoud van de items in het gegevensarchief.These methods should be implemented when the user needs to manage the content of the items in the data store. De providerklasse in dit voorbeeld is afgeleid van de NavigationCmdletProvider klasse en implementeert de IContentCmdletProvider interface.The provider class in this sample derives from the NavigationCmdletProvider class, and it implements the IContentCmdletProvider interface.