Instalowanie zestawu SDK programu Windows PowerShellInstalling the Windows PowerShell SDK

Dotyczy: Windows PowerShell 2,0, Windows PowerShell 3,0Applies To: Windows PowerShell 2.0, Windows PowerShell 3.0

W poniższym temacie opisano sposób instalowania zestawu SDK programu PowerShell w różnych wersjach systemu Windows.The following topic describes how to install the PowerShell SDK on different versions of Windows.

Instalowanie zestawu Windows PowerShell 3,0 SDK dla systemu Windows 8 i Windows Server 2012Installing Windows PowerShell 3.0 SDK for Windows 8 and Windows Server 2012

Program Windows PowerShell 3,0 jest automatycznie instalowany z systemami Windows 8 i Windows Server 2012.Windows PowerShell 3.0 is automatically installed with Windows 8 and Windows Server 2012. Ponadto zestawy referencyjne programu Windows PowerShell 3,0 można pobrać i zainstalować w ramach zestawu SDK systemu Windows 8.In addition, you can download and install the reference assemblies for Windows PowerShell 3.0 as part of the Windows 8 SDK. Te zestawy umożliwiają pisanie poleceń cmdlet, dostawców i programów hosta dla programu Windows PowerShell 3,0.These assemblies allow you to write cmdlets, providers, and host programs for Windows PowerShell 3.0. Po zainstalowaniu Windows SDK dla systemu Windows 8 zestawy programu Windows PowerShell są automatycznie instalowane w folderze zestawów referencyjnych w temacie \Program Files (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. Aby uzyskać więcej informacji, zobacz witrynę pobierania zestawu SDK systemu Windows 8.For more information, see the Windows 8 SDK download site. Przykłady kodu dla programu Windows PowerShell są również dostępne w repozytorium PowerShell-SDK-Samples .Windows PowerShell code samples are also available in the powershell-sdk-samples repository.

Instalowanie zestawu Windows PowerShell 3,0 SDK dla systemu Windows 7 i Windows Server 2008 R2Installing Windows PowerShell 3.0 SDK for Windows 7 and Windows Server 2008 R2

Systemy Windows 7 i Windows Server 2008 R2 automatycznie mają zainstalowany program PowerShell 2,0.Windows 7 and Windows Server 2008 R2 automatically have PowerShell 2.0 installed. Ponadto w tych systemach można zainstalować program PowerShell 3,0.In addition, you can install PowerShell 3.0 on these systems. Możesz również zainstalować zestaw SDK systemu Windows 8 w systemach Windows 7 i Windows Server 2008 R2 zgodnie z powyższym opisem.You can also install the Windows 8 SDK on Windows 7 and Windows Server 2008 R2 as described above.

Instalowanie zestawu Windows PowerShell 2,0 SDK dla systemu Windows 7, Vista, XP, Server 2003 i Server 2008Installing Windows PowerShell 2.0 SDK for Windows 7, Vista, XP, Server 2003, and Server 2008

Zestaw SDK programu Windows PowerShell 2,0 udostępnia zestawy referencyjne potrzebne do pisania poleceń cmdlet, dostawców i aplikacji hostingowych, a także udostępnia przykładowy kod w języku C#, który może być używany jako punkt wyjścia podczas pisania kodu.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. Przykłady kodu można pobrać z programu https://www.microsoft.com/download/details.aspx?id=2560 .You can download the code samples from https://www.microsoft.com/download/details.aspx?id=2560.

Odwoływanie się do zestawówReference assemblies

Zestawy odwołań są domyślnie instalowane w następującej lokalizacji: 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.

Uwaga

Nie można załadować kodu skompilowanego w odniesieniu do zestawów programu Windows PowerShell 2,0 do instalacji programu Windows PowerShell 1,0.Code that is compiled against the Windows PowerShell 2.0 assemblies cannot be loaded into Windows PowerShell 1.0 installations. Jednak kod, który jest kompilowany do zestawów programu Windows PowerShell 1,0, można załadować do instalacji programu Windows PowerShell 2,0.However, code that is compiled against the Windows PowerShell 1.0 assemblies can be loaded into Windows PowerShell 2.0 installations.

SamplesSamples

Przykłady kodu są domyślnie instalowane w następującej lokalizacji: 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\. W poniższych sekcjach przedstawiono krótki opis każdego przykładu.The following sections provide a brief description of what each sample does.

Przykłady poleceń cmdletCmdlet samples

  • GetProcessSample01 — pokazuje, jak napisać proste polecenie cmdlet, które pobiera wszystkie procesy na komputerze lokalnym.GetProcessSample01 - Shows how to write a simple cmdlet that gets all the processes on the local computer.
  • GetProcessSample02 — pokazuje, jak dodać parametry do polecenia cmdlet.GetProcessSample02 - Shows how to add parameters to the cmdlet. Polecenie cmdlet przyjmuje co najmniej jedną nazwę procesu i zwraca pasujące procesy.The cmdlet takes one or more process names and returns the matching processes.
  • GetProcessSample03 — pokazuje, jak dodać parametry, które akceptują dane wejściowe z potoku.GetProcessSample03 - Shows how to add parameters that accept input from the pipeline.
  • GetProcessSample04 — pokazuje, jak obsługiwać błędy niepowodujące zakończenia.GetProcessSample04 - Shows how to handle non-terminating errors.
  • GetProcessSample05 — pokazuje, jak wyświetlić listę określonych procesów.GetProcessSample05 - Shows how to display a list of specified processes.
  • SelectObject — pokazuje, jak napisać filtr w celu wybrania tylko określonych obiektów.SelectObject - Shows how to write a filter to select only certain objects.
  • SelectString — pokazuje, jak wyszukiwać pliki dla określonych wzorców.SelectString - Shows how to search files for specified patterns.
  • StopProcessSample01 — pokazuje, jak zaimplementować parametr PassThru i jak zażądać opinii użytkowników przez wywołania metod ShouldProcess i ShouldContinue.StopProcessSample01 - Shows how to implement a PassThru parameter, and how to request user feedback by calls to the ShouldProcess and ShouldContinue methods. Jeśli chcesz wymusić, aby polecenie cmdlet zwracało obiekt, użytkownicy określą parametr PassThruUsers specify the PassThru parameter when they want to force the cmdlet to return an object,
  • StopProcessSample02 — pokazuje, jak zatrzymać określony proces.StopProcessSample02 - Shows how to stop a specific process.
  • StopProcessSample03 — pokazuje, jak zadeklarować aliasy dla parametrów i jak obsługiwać symbole wieloznaczne.StopProcessSample03 - Shows how to declare aliases for parameters and how to support wildcards.
  • StopProcessSample04 — pokazuje sposób deklarowania zestawów parametrów, obiekt, który polecenie cmdlet przyjmuje jako dane wejściowe, oraz sposób określania domyślnego parametru ustawionego do użycia.StopProcessSample04 - Shows how to declare parameter sets, the object that the cmdlet takes as input, and how to specify the default parameter set to use.

Przykłady komunikacji zdalnejRemoting samples

  • RemoteRunspace01 — pokazuje, jak utworzyć zdalny obszar działania, który jest używany do nawiązywania połączenia zdalnego.RemoteRunspace01 - Shows how to create a remote runspace that is used to establish a remote connection.
  • RemoteRunspacePool01 — pokazuje, jak utworzyć zdalną pulę obszaru działania oraz jak uruchamiać wiele poleceń współbieżnie przy użyciu tej puli.RemoteRunspacePool01 - Shows how to construct a remote runspace pool and how to run multiple commands concurrently by using this pool.
  • Serialization01 — pokazuje, jak przyjrzeć się istniejącej klasie .NET i upewnić się, że informacje z wybranych właściwości publicznych tej klasy są zachowywane w obrębie serializacji/deserializacji.Serialization01 - 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.
  • Serialization02 — pokazuje, jak przyjrzeć się istniejącej klasie .NET i upewnić się, że informacje z wystąpienia tej klasy są zachowywane w serializacji/deserializacji, gdy informacje nie są dostępne we właściwościach publicznych klasy.Serialization02 - 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.
  • Serialization03 — pokazuje, jak przyjrzeć się istniejącej klasie .NET i upewnić się, że wystąpienia tej klasy i klas pochodnych są deserializowane (podręczne) do obiektów na żywo platformy .NET.Serialization03 - 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.

Przykłady zdarzeńEvent samples

  • Event01 — pokazuje, w jaki sposób utworzyć polecenie cmdlet do rejestracji zdarzeń przez wywodząc się z ObjectEventRegistrationBase.Event01 - Shows how to create a cmdlet for event registration by deriving from ObjectEventRegistrationBase.
  • Event02 — pokazuje, jak wyświetlić powiadomienia o zdarzeniach programu Windows PowerShell generowanych na komputerach zdalnych.Event02 - Shows how to shows how to receive notifications of Windows PowerShell events that are generated on remote computers. Używa zdarzenia PSEventReceived uwidocznionego za pośrednictwem klasy obszaru działania.It uses the PSEventReceived event exposed through the Runspace class.

Przykłady hostingu aplikacjiHosting application samples

  • Runspace01 — pokazuje, jak używać klasy programu PowerShell do Get-Process synchronicznego uruchamiania polecenia cmdlet.Runspace01 - Shows how to use the PowerShell class to run the Get-Process cmdlet synchronously. Get-ProcessPolecenie cmdlet zwraca obiekty przetwarzania dla każdego procesu uruchomionego na komputerze lokalnym.The Get-Process cmdlet returns Process objects for each process running on the local computer.
  • Runspace02 — pokazuje, jak używać klasy programu PowerShell do Get-Process Sort-Object synchronicznego uruchamiania poleceń cmdlet i.Runspace02 - Shows how to use the PowerShell class to run the Get-Process and Sort-Object cmdlets synchronously. Get-ProcessPolecenie cmdlet zwraca obiekty przetwarzania dla każdego procesu uruchomionego na komputerze lokalnym, a następnie Sort-Object Sortuje obiekty na podstawie ich właściwości ID.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. Wyniki tych poleceń są wyświetlane przy użyciu kontrolki DataGridView.The results of these commands is displayed by using a DataGridView control.
  • Runspace03 — pokazuje, jak używać klasy programu PowerShell do synchronicznego uruchamiania skryptu i jak obsługiwać błędy niepowodujące zakończenia.Runspace03 - Shows how to use the PowerShell class to run a script synchronously, and how to handle non-terminating errors. Skrypt odbiera listę nazw procesów, a następnie pobiera te procesy.The script receives a list of process names and then retrieves those processes. Wyniki skryptu, w tym wszelkie błędy niepowodujące zakończenia, które zostały wygenerowane podczas uruchamiania skryptu, są wyświetlane w oknie konsoli.The results of the script, including any non-terminating errors that were generated when running the script, are displayed in a console window.
  • Runspace04 — pokazuje, jak używać klasy programu PowerShell do uruchamiania poleceń i jak przechwytywać błędy, które są generowane podczas uruchamiania poleceń.Runspace04 - Shows how to use the PowerShell class to run commands, and how to catch terminating errors that are thrown when running the commands. Dwa polecenia są uruchamiane, a ostatnie polecenie przekazuje argument parametru, który jest nieprawidłowy.Two commands are run, and the last command is passed a parameter argument that is not valid. W związku z tym żadne obiekty nie są zwracane i zostanie zgłoszony błąd powodujący przerwanie.As a result, no objects are returned and a terminating error is thrown.
  • Runspace05 — pokazuje, jak dodać przystawkę do obiektu InitialSessionState, tak aby polecenie cmdlet przystawki jest dostępne po otwarciu obszaru działania.Runspace05 - 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. Przystawka zawiera Get-Proc polecenie cmdlet (zdefiniowane przez przykład GetProcessSample01), które jest uruchamiane synchronicznie przy użyciu obiektu programu PowerShell.The snap-in provides a Get-Proc cmdlet (defined by the GetProcessSample01 Sample) that is run synchronously using a PowerShell object.
  • Runspace06 — pokazuje, jak dodać moduł do obiektu InitialSessionState, tak aby moduł został załadowany po otwarciu obszaru działania.Runspace06 - Shows how to add a module to an InitialSessionState object so that the module is loaded when the runspace is opened. Moduł udostępnia Get-Proc polecenie cmdlet (zdefiniowane przez przykład GetProcessSample02), które jest uruchamiane synchronicznie przy użyciu obiektu programu PowerShell.The module provides a Get-Proc cmdlet (defined by the GetProcessSample02 Sample) that is run synchronously using a PowerShell object.
  • Runspace07 — pokazuje, jak utworzyć obszar działania, a następnie użyć tego obszaru działania do synchronicznego uruchamiania dwóch poleceń cmdlet przy użyciu obiektu programu PowerShell.Runspace07 - Shows how to create a runspace, and then use that runspace to run two cmdlets synchronously using a PowerShell object.
  • Runspace08 — pokazuje, jak dodawać polecenia i argumenty do potoku obiektu programu PowerShell oraz jak uruchamiać polecenia synchronicznie.Runspace08 - Shows how to add commands and arguments to the pipeline of a PowerShell object and how to run the commands synchronously.
  • Runspace09 — pokazuje, jak dodać skrypt do potoku obiektu programu PowerShell i jak uruchomić skrypt asynchronicznie.Runspace09 - Shows how to add a script to the pipeline of a PowerShell object and how to run the script asynchronously. Zdarzenia są używane do obsługi danych wyjściowych skryptu.Events are used to handle the output of the script.
  • Runspace10 — pokazuje, jak utworzyć domyślny początkowy stan sesji, jak dodać polecenie cmdlet do InitialSessionState, jak utworzyć obszar działania, który używa początkowego stanu sesji oraz jak uruchomić polecenie przy użyciu obiektu programu PowerShell.Runspace10 - 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 using a PowerShell object.
  • Runspace11 — pokazuje, jak używać klasy ProxyCommand do tworzenia polecenia proxy, które wywołuje istniejące polecenie cmdlet, ale ogranicza zestaw dostępnych parametrów.Runspace11 - Shows how to use the ProxyCommand class to create a proxy command that calls an existing cmdlet, but restricts the set of available parameters. Polecenie proxy jest następnie dodawane do początkowego stanu sesji, który jest używany do tworzenia ograniczonego obszaru działania.The proxy command is then added to an initial session state that is used to create a constrained runspace. Oznacza to, że użytkownik może uzyskać dostęp do funkcji polecenia cmdlet tylko za pośrednictwem polecenia proxy.This means that the user can access the functionality of the cmdlet only through the proxy command.
  • PowerShell01 — pokazuje sposób tworzenia ograniczonego obszaru działania przy użyciu obiektu InitialSessionState.PowerShell01 - Shows how to create a constrained runspace using an InitialSessionState object.
  • PowerShell02 — pokazuje, jak używać puli obszaru działania do uruchamiania wielu poleceń współbieżnie.PowerShell02 - Shows how to use a runspace pool to run multiple commands concurrently.

Przykłady hostaHost samples

  • Host01 — pokazuje, jak zaimplementować aplikację hosta, która używa hosta niestandardowego.Host01 - Shows how to implement a host application that uses a custom host. W tym przykładzie tworzony jest obszar działania, który używa hosta niestandardowego, a następnie interfejs API programu PowerShell jest używany do uruchamiania skryptu wywołującego exit .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. Aplikacja hosta analizuje dane wyjściowe skryptu i drukuje wyniki.The host application then looks at the output of the script and prints out the results.
  • Host02 — pokazuje, jak napisać aplikację hosta, która używa środowiska uruchomieniowego programu Windows PowerShell wraz z implementacją niestandardowego hosta.Host02 - Shows how to write a host application that uses the Windows PowerShell runtime along with a custom host implementation. Aplikacja hosta ustawia kulturę hosta na język niemiecki, uruchamia Get-Process polecenie cmdlet i wyświetla wyniki w taki sposób, jakby były widoczne przy użyciu pwrsh.exe, a następnie drukuje bieżące dane i godzinę w języku niemieckim.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.
  • Host03 — pokazuje, jak utworzyć interaktywną aplikację hosta opartą na konsoli, która odczytuje polecenia z wiersza polecenia, wykonuje polecenia, a następnie wyświetla wyniki w konsoli programu.Host03 - 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.
  • Host04 — pokazuje, jak utworzyć interaktywną aplikację hosta opartą na konsoli, która odczytuje polecenia z wiersza polecenia, wykonuje polecenia, a następnie wyświetla wyniki w konsoli programu.Host04 - 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. Ta aplikacja hosta obsługuje również wyświetlanie wyświetleń odpowiedzi umożliwiających użytkownikowi określenie wielu opcji.This host application also supports displaying prompts that allow the user to specify multiple choices.
  • Host05 — pokazuje, jak utworzyć interaktywną aplikację hosta opartą na konsoli, która odczytuje polecenia z wiersza polecenia, wykonuje polecenia, a następnie wyświetla wyniki w konsoli programu.Host05 - 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. Ta aplikacja hosta obsługuje również wywołania do komputerów zdalnych za pomocą Enter-PsSession Exit-PsSession poleceń cmdlet i.This host application also supports calls to remote computers by using the Enter-PsSession and Exit-PsSession cmdlets.
  • Host06 — pokazuje, jak utworzyć interaktywną aplikację hosta opartą na konsoli, która odczytuje polecenia z wiersza polecenia, wykonuje polecenia, a następnie wyświetla wyniki w konsoli programu.Host06 - 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. Ponadto w tym przykładzie używamy interfejsów API tokenizatora, aby określić kolor tekstu wprowadzanego przez użytkownika.In addition, this sample uses the Tokenizer APIs to specify the color of the text that is entered by the user.

Przykłady dostawcyProvider samples

  • AccessDBProviderSample01 — pokazuje sposób deklarowania klasy dostawcy, która dziedziczy bezpośrednio z klasy CmdletProvider.AccessDBProviderSample01 - Shows how to declare a provider class that derives directly from the CmdletProvider class. Jest on uwzględniony tylko w celu kompletności.It is included here only for completeness.

  • AccessDBProviderSample02 — pokazuje, jak zastąpić metody NewDrive i RemoveDrive, aby obsługiwać wywołania New-PSDrive Remove-PSDrive poleceń cmdlet i.AccessDBProviderSample02 - Shows how to overwrite the NewDrive and RemoveDrive methods to support calls to the New-PSDrive and Remove-PSDrive cmdlets. Klasa dostawcy w tym przykładzie pochodzi z klasy DriveCmdletProvider.The provider class in this sample derives from the DriveCmdletProvider class.

  • AccessDBProviderSample03 — pokazuje, jak zastąpić metody GetItem i SetItem, aby obsługiwać wywołania Get-Item Set-Item poleceń cmdlet i.AccessDBProviderSample03 - Shows how to overwrite the GetItem and SetItem methods to support calls to the Get-Item and Set-Item cmdlets. Klasa dostawcy w tym przykładzie pochodzi z klasy ItemCmdletProvider.The provider class in this sample derives from the ItemCmdletProvider class.

  • AccessDBProviderSample04 — pokazuje, jak zastąpić metody kontenera, aby obsługiwać wywołania Copy-Item Get-ChildItem New-Item poleceń cmdlet,, i Remove-Item .AccessDBProviderSample04 - Shows how to overwrite container methods to support calls to the Copy-Item, Get-ChildItem, New-Item, and Remove-Item cmdlets. Te metody należy zaimplementować, gdy magazyn danych zawiera elementy, które są kontenerami.These methods should be implemented when the data store contains items that are containers. Kontener jest grupą elementów podrzędnych w ramach wspólnego elementu nadrzędnego.A container is a group of child items under a common parent item. Klasa dostawcy w tym przykładzie pochodzi z klasy ItemCmdletProvider.The provider class in this sample derives from the ItemCmdletProvider class.

  • AccessDBProviderSample05 — pokazuje, jak zastąpić metody kontenera, aby obsługiwać wywołania Move-Item Join-Path poleceń cmdlet i.AccessDBProviderSample05 - Shows how to overwrite container methods to support calls to the Move-Item and Join-Path cmdlets. Te metody należy zaimplementować, gdy użytkownik musi przenieść elementy w kontenerze, a magazyn danych zawiera zagnieżdżone kontenery.These methods should be implemented when the user needs to move items within a container and if the data store contains nested containers. Klasa dostawcy w tym przykładzie pochodzi z klasy NavigationCmdletProvider.The provider class in this sample derives from the NavigationCmdletProvider class.

  • AccessDBProviderSample06 — pokazuje, jak zastąpić metody zawartości, aby obsługiwać wywołania Clear-Content Get-Content poleceń cmdlet, i Set-Content .AccessDBProviderSample06 - Shows how to overwrite content methods to support calls to the Clear-Content, Get-Content, and Set-Content cmdlets. Te metody należy zaimplementować, gdy użytkownik musi zarządzać zawartością elementów w magazynie danych.These methods should be implemented when the user needs to manage the content of the items in the data store. Klasa dostawcy w tym przykładzie pochodzi z klasy NavigationCmdletProvider i implementuje interfejs IContentCmdletProvider.The provider class in this sample derives from the NavigationCmdletProvider class, and it implements the IContentCmdletProvider interface.