Instalowanie zestawu SDK programu Windows PowerShell

Dotyczy: Windows PowerShell 2.0, Windows PowerShell 3.0

W poniższym temacie opisano sposób instalowania zestawu SDK programu PowerShell w różnych wersjach Windows.

Instalowanie Windows PowerShell 3.0 SDK dla Windows 8 i Windows Server 2012

Windows PowerShell 3.0 jest automatycznie instalowana z Windows 8 i Windows Server 2012. Ponadto można pobrać i zainstalować zestawy referencyjne dla programu Windows PowerShell 3.0 jako część zestawu WINDOWS 8 SDK. Te zestawy umożliwiają pisanie cmdlet, dostawców i programów hosta dla Windows PowerShell 3.0. Podczas instalowania zestawu SDK Windows dla programu Windows 8 zestawy Windows PowerShell są automatycznie instalowane w folderze zestawu odniesienia w programie \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0 . Aby uzyskać więcej informacji, zobacz witrynę pobierania Windows 8 SDK. Windows PowerShell przykłady kodu są również dostępne w repozytorium powershell-sdk-samples.

Instalowanie Windows PowerShell 3.0 SDK dla Windows 7 i Windows Server 2008 R2

Windows 7 i Windows Server 2008 R2 automatycznie mają zainstalowany program PowerShell 2.0. Ponadto w tych systemach można zainstalować program PowerShell 3.0. Zestaw SDK usługi Windows 8 można również zainstalować na Windows 7 i Windows Server 2008 R2 zgodnie z powyższym opisem.

Instalowanie Windows PowerShell 2.0 SDK dla systemów Windows 7, Vista, XP, Server 2003 i Server 2008

Zestaw Windows PowerShell 2.0 SDK zawiera zestawy referencyjne potrzebne do pisania zestawów cmdlet, dostawców i aplikacji hostingu, a także udostępnia przykładowy kod języka C#, który może służyć jako punkt wyjścia podczas rozpoczynania pisania kodu.

Odwoływanie się do zestawów

Zestawy odwołania są domyślnie instalowane w następującej lokalizacji: c:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0 .

Uwaga

Kod kompilowany względem zestawów Windows PowerShell 2.0 nie może zostać załadowany do Windows PowerShell 1.0. Jednak kod kompilowany względem zestawów Windows PowerShell 1.0 można załadować do Windows PowerShell 2.0.

Samples

Przykłady kodu są domyślnie instalowane w następującej lokalizacji: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\ . W poniższych sekcjach przedstawiono krótki opis działania poszczególnych przykładów.

Przykłady polecenia cmdlet

  • GetProcessSample01 — pokazuje, jak napisać proste polecenie cmdlet, które pobiera wszystkie procesy na komputerze lokalnym.
  • GetProcessSample02 — pokazuje, jak dodać parametry do polecenia cmdlet. Polecenie cmdlet przyjmuje co najmniej jedną nazwę procesu i zwraca pasujące procesy.
  • GetProcessSample03 — pokazuje, jak dodać parametry akceptujące dane wejściowe z potoku.
  • GetProcessSample04 — pokazuje, jak obsługiwać błędy niepowiązyjące zakończenia.
  • GetProcessSample05 — pokazuje sposób wyświetlania listy określonych procesów.
  • SelectObject — pokazuje, jak napisać filtr, aby wybrać tylko niektóre obiekty.
  • SelectString — pokazuje, jak wyszukiwać pliki pod określonymi wzorcami.
  • StopProcessSample01 — pokazuje, jak zaimplementować parametr PassThru i jak żądać opinii użytkowników za pomocą wywołań metod ShouldProcess i ShouldContinue. Użytkownicy określają parametr PassThru, gdy chcą wymusić zwrócenie obiektu przez polecenie cmdlet
  • StopProcessSample02 — pokazuje, jak zatrzymać określony proces.
  • StopProcessSample03 — pokazuje, jak deklarować aliasy dla parametrów i jak obsługiwać symbole wieloznaczne.
  • StopProcessSample04 — pokazuje, jak zadeklarować zestawy parametrów, obiekt, który przyjmuje polecenie cmdlet jako dane wejściowe, oraz jak określić domyślny parametr do użycia.

Przykłady komunikacji zdalnej

  • RemoteRunspace01 — pokazuje, jak utworzyć zdalny obszar działania używany do nawiązywania połączenia zdalnego.
  • RemoteRunspacePool01 — pokazuje, jak utworzyć zdalną pulę obszarów działania i uruchamiać wiele poleceń jednocześnie przy użyciu tej puli.
  • Serialization01 — pokazuje, jak sprawdzić istniejącą klasę .NET i upewnić się, że informacje z wybranych właściwości publicznych tej klasy są zachowywane w całej serializacji/deserializacji.
  • Serializacji02 - Pokazuje, jak sprawdzić istniejącej klasy .NET i upewnij się, że informacje z wystąpienia tej klasy są zachowywane w całej serializacji/deserializacji, gdy informacje są niedostępne we właściwościach publicznych klasy.
  • Serialization03 — pokazuje, jak sprawdzić istniejącą klasę .NET i upewnić się, że wystąpienia tej klasy i klas pochodnych są deserializowane (ponownie) do obiektów .NET na żywo.

Przykłady zdarzeń

  • Event01 — pokazuje, jak utworzyć polecenie cmdlet do rejestracji zdarzeń przez wyprowadzenie z obiektu ObjectEventRegistrationBase.
  • Event02 — pokazuje, jak odbierać powiadomienia o zdarzeniach Windows PowerShell generowanych na komputerach zdalnych. Używa zdarzenia PSEventReceived ujawnionego za pośrednictwem klasy Runspace.

Przykłady aplikacji hostingu

  • Runspace01 — pokazuje, jak używać klasy programu PowerShell do synchronicznego uruchamiania polecenia Get-Process cmdlet. Polecenie Get-Process cmdlet zwraca obiekty procesu dla każdego procesu uruchomionego na komputerze lokalnym.
  • Runspace02 — pokazuje, jak używać klasy programu PowerShell do synchronicznego uruchamiania poleceń Get-Process Sort-Object cmdlet i . Polecenie cmdlet zwraca obiekty Procesu dla każdego procesu uruchomionego na komputerze lokalnym i sortuje obiekty Get-Process na podstawie ich właściwości Sort-Object Id. Wyniki tych poleceń są wyświetlane przy użyciu kontrolki DataGridView.
  • Runspace03 — pokazuje, jak używać klasy programu PowerShell do synchronicznego uruchamiania skryptu oraz jak obsługiwać błędy niepowiązyujące zakończenia. Skrypt odbiera listę nazw procesów, a następnie pobiera te procesy. W oknie konsoli są wyświetlane wyniki skryptu, w tym błędy niepowiąające się z zakończeniem, które zostały wygenerowane podczas uruchamiania skryptu.
  • Runspace04 — pokazuje, jak używać klasy programu PowerShell do uruchamiania poleceń oraz jak przechwycić błędy kończące się, które są zgłaszane podczas uruchamiania poleceń. Dwa polecenia są uruchamiane, a ostatnie polecenie jest przekazywane jako nieprawidłowy argument parametru. W związku z tym żadne obiekty nie są zwracane i zgłaszany jest błąd zakończenia.
  • Runspace05 — pokazuje, jak dodać przystawkę do obiektu InitialSessionState, aby polecenie cmdlet przystawki było dostępne po otwarciu przestrzeni uruchamiania. Przystawka udostępnia polecenie cmdlet Get-Proc (zdefiniowane przez przykład GetProcessSample01), które jest uruchamiane synchronicznie przy użyciu obiektu programu PowerShell.
  • Runspace06 — pokazuje, jak dodać moduł do obiektu InitialSessionState, aby moduł był ładowany po otwarciu przestrzeni uruchamiania. Moduł udostępnia polecenie cmdlet Get-Proc (zdefiniowane przez przykład GetProcessSample02), które jest uruchamiane synchronicznie przy użyciu obiektu programu PowerShell.
  • Runspace07 — pokazuje, jak utworzyć obszar działania, a następnie użyć tego środowiska do synchronicznego uruchomienia dwóch poleceń cmdlet przy użyciu obiektu programu PowerShell.
  • Runspace08 — pokazuje, jak dodawać polecenia i argumenty do potoku obiektu programu PowerShell oraz jak uruchamiać polecenia synchronicznie.
  • Runspace09 — pokazuje, jak dodać skrypt do potoku obiektu programu PowerShell i jak uruchomić skrypt asynchronicznie. Zdarzenia są używane do obsługi danych wyjściowych skryptu.
  • Runspace10 — pokazuje, jak utworzyć domyślny początkowy stan sesji, jak dodać polecenie cmdlet do initialSessionState, jak utworzyć obszar runspace używający początkowego stanu sesji oraz jak uruchomić polecenie przy użyciu obiektu programu PowerShell.
  • Runspace11 — pokazuje, jak za pomocą klasy ProxyCommand utworzyć polecenie serwera proxy, które wywołuje istniejące polecenie cmdlet, ale ogranicza zestaw dostępnych parametrów. Polecenie serwera proxy jest następnie dodawane do stanu sesji początkowej, który służy do tworzenia ograniczonego przestrzeni uruchamiania. Oznacza to, że użytkownik może uzyskać dostęp do funkcji polecenia cmdlet tylko za pomocą polecenia serwera proxy.
  • PowerShell01 — pokazuje, jak utworzyć ograniczony obszar działania przy użyciu obiektu InitialSessionState.
  • PowerShell02 — pokazuje, jak używać puli obszarów uruchamiania do uruchamiania wielu poleceń jednocześnie.

Przykłady hostów

  • Host01 — pokazuje, jak zaimplementować aplikację hosta, która używa niestandardowego hosta. W tym przykładzie jest tworzony obszar działania, który używa niestandardowego hosta, a następnie interfejs API programu PowerShell służy do uruchamiania skryptu, który wywołuje exit . Aplikacja hosta następnie przejrzy dane wyjściowe skryptu i wypisuje wyniki.
  • Host02 — pokazuje, jak napisać aplikację hosta, która używa środowiska Windows PowerShell uruchomieniowego wraz z implementacją niestandardowego hosta. Aplikacja hosta ustawia kulturę hosta na niemiecki, uruchamia polecenie cmdlet i wyświetla wyniki w sposób, w który można je zobaczyć przy użyciu języka pwrsh.exe, a następnie wyświetla bieżące dane i czas w języku Get-Process niemieckim.
  • 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.
  • 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. Ta aplikacja hosta obsługuje również wyświetlanie monitów, które umożliwiają użytkownikowi określenie wielu opcji.
  • 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. Ta aplikacja hosta obsługuje również wywołania do komputerów zdalnych przy użyciu Enter-PsSession polecenia Exit-PsSession cmdlet i .
  • 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. Ponadto w tym przykładzie użyto interfejsów API tokenizatora, aby określić kolor tekstu wprowadzonego przez użytkownika.

Przykłady dostawców

  • AccessDBProviderSample01 — pokazuje, jak zadeklarować klasę dostawcy pochodzącą bezpośrednio z klasy CmdletProvider. Jest on tu uwzględniony tylko w celu jego ukończenia.

  • AccessDBProviderSample02 — pokazuje, jak zastąpić metody NewDrive i RemoveDrive w celu obsługi wywołań do polecenia New-PSDrive Remove-PSDrive cmdlet i . Klasa dostawcy w tym przykładzie pochodzi z klasy DriveCmdletProvider.

  • AccessDBProviderSample03 — pokazuje, jak zastąpić metody GetItem i SetItem w celu obsługi wywołań do polecenia Get-Item Set-Item cmdlet i . Klasa dostawcy w tym przykładzie pochodzi z klasy ItemCmdletProvider.

  • AccessDBProviderSample04 — pokazuje, jak zastąpić metody kontenerów w celu obsługi wywołań Copy-Item do Get-ChildItem New-Item cmdlet , , i Remove-Item . Te metody powinny być implementowane, gdy magazyn danych zawiera elementy, które są kontenerami. Kontener to grupa elementów nadrzędnych w ramach wspólnego elementu nadrzędnego. Klasa dostawcy w tym przykładzie pochodzi z klasy ItemCmdletProvider.

  • AccessDBProviderSample05 — pokazuje, jak zastąpić metody kontenera w celu obsługi wywołań do Move-Item polecenia Join-Path cmdlet i . Te metody powinny być implementowane, gdy użytkownik musi przenieść elementy w kontenerze i jeśli magazyn danych zawiera zagnieżdżone kontenery. Klasa dostawcy w tym przykładzie pochodzi z klasy NavigationCmdletProvider.

  • AccessDBProviderSample06 — pokazuje, jak zastąpić metody zawartości w celu obsługi wywołań Clear-Content Get-Content do polecenia cmdlet , i Set-Content . Te metody powinny być implementowane, gdy użytkownik musi zarządzać zawartością elementów w magazynie danych. Klasa dostawcy w tym przykładzie pochodzi z klasy NavigationCmdletProvider i implementuje interfejs IContentCmdletProvider.