Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 systemu Windows.
Instalowanie zestawu Windows PowerShell 3.0 SDK dla systemów Windows 8 i Windows Server 2012
Program Windows PowerShell 3.0 jest instalowany automatycznie z systemami Windows 8 i Windows Server 2012. Ponadto można pobrać i zainstalować zestawy referencyjne dla programu Windows PowerShell 3.0 w ramach zestawu WINDOWS 8 SDK. Te zestawy umożliwiają pisanie poleceń cmdlet, dostawców i programów hosta dla programu Windows PowerShell 3.0. Podczas instalowania zestawu Windows SDK dla systemu Windows 8 zestawy programu Windows PowerShell są automatycznie instalowane w folderze zestawu referencyjnego w \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0. Aby uzyskać więcej informacji, zobacz witrynę pobierania zestawu WINDOWS 8 SDK. Przykłady kodu programu Windows PowerShell są również dostępne w repozytorium powershell-sdk-samples.
Biblioteki referencyjne
Zestawy odwołań są instalowane w następującej lokalizacji domyślnie: C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0.
Uwaga
Nie można załadować kodu skompilowanego względem zestawów programu Windows PowerShell 2.0 do instalacji programu Windows PowerShell 1.0. Jednak kod kompilowany względem zestawów programu Windows PowerShell 1.0 można załadować do instalacji programu Windows PowerShell 2.0.
Przykłady
Przykłady kodu są instalowane w następującej lokalizacji domyślnie: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\. Poniższe sekcje zawierają krótki opis tego, co robi każdy przykład.
Przykłady poleceń 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 niepowodujące zakończenia.
- GetProcessSample05 — pokazuje sposób wyświetlania listy określonych procesów.
- SelectObject — pokazuje sposób pisania filtru w celu wybrania tylko niektórych obiektów.
- SelectString — pokazuje, jak wyszukiwać pliki dla określonych wzorców.
- StopProcessSample01 — pokazuje, jak zaimplementować parametr PassThru oraz 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 zadeklarować aliasy parametrów i jak obsługiwać symbole wieloznaczne.
- StopProcessSample04 — pokazuje sposób deklarowania zestawów parametrów, obiektu, który polecenie cmdlet przyjmuje jako dane wejściowe i jak określić domyślny parametr ustawiony na użycie.
Przykłady komunikacji zdalnie
- RemoteRunspace01 — pokazuje, jak utworzyć zdalną przestrzeń uruchamiania używaną do nawiązywania połączenia zdalnego.
- RemoteRunspacePool01 — pokazuje, jak skonstruować zdalną pulę uruchomień i jak uruchamiać wiele poleceń jednocześnie przy użyciu tej puli.
- Serializacja01 — 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 ramach serializacji/deserializacji.
- Serializacja02 — pokazuje, jak przyjrzeć się istniejącej klasie .NET i upewnić się, że informacje z wystąpienia tej klasy są zachowywane w ramach serializacji/deserializacji, gdy informacje nie są dostępne we właściwościach publicznych klasy.
- Serializacja03 — pokazuje, jak przyjrzeć się istniejącej klasie .NET i upewnić się, że wystąpienia tej klasy i klas pochodnych są deserializowane (ponownie wypełnianie) do żywych obiektów platformy .NET.
Przykłady zdarzeń
- Event01 — pokazuje, jak utworzyć polecenie cmdlet na potrzeby rejestracji zdarzeń przez wyprowadzenie z obiektu ObjectEventRegistrationBase.
- Event02 — pokazuje, jak odbierać powiadomienia o zdarzeniach programu Windows PowerShell generowanych na komputerach zdalnych. Używa ono zdarzenia PSEventReceived uwidocznionego za pośrednictwem klasy Runspace.
Przykłady aplikacji hostingu
- Runspace01 — pokazuje, jak używać klasy programu PowerShell do synchronicznego uruchamiania polecenia cmdlet
Get-Process. Polecenie cmdletGet-Processzwraca obiekty procesu dla każdego procesu uruchomionego na komputerze lokalnym. - Runspace02 — pokazuje, jak używać klasy programu PowerShell do uruchamiania poleceń cmdlet
Get-ProcessiSort-Objectsynchronicznie. Polecenie cmdletGet-Processzwraca obiekty procesu dla każdego procesu uruchomionego na komputerze lokalnym, aSort-Objectsortuje obiekty na podstawie ich właściwości Id. Wyniki tych poleceń są wyświetlane przy użyciu kontrolki DataGridView. - Runspace03 — pokazuje, jak używać klasy programu PowerShell do synchronicznego uruchamiania skryptu i jak obsługiwać błędy niepowodujące zakończenia. Skrypt otrzymuje listę nazw procesów, a następnie pobiera te procesy. 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.
- Runspace04 — pokazuje, jak używać klasy programu PowerShell do uruchamiania poleceń oraz jak przechwytywać błędy zakończenia, które są zgłaszane podczas uruchamiania poleceń. Są uruchamiane dwa polecenia, a ostatnie polecenie jest przekazywane argument parametru, który jest nieprawidłowy. W związku z tym nie są zwracane żadne obiekty 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 obszaru 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 obszaru 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ć przestrzeń uruchomieniową, a następnie użyć tej przestrzeni uruchomieniowej do synchronicznego uruchamiania dwóch poleceń cmdlet przy użyciu obiektu programu PowerShell.
- Runspace08 — pokazuje, jak dodać polecenia i argumenty do potoku obiektu programu PowerShell oraz jak uruchomić 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 stan sesji początkowej, jak dodać polecenie cmdlet do parametru InitialSessionState, jak utworzyć przestrzeń uruchomieniową używającą stanu początkowej 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. Następnie polecenie serwera proxy jest dodawane do stanu początkowej sesji, który jest używany do tworzenia ograniczonego obszaru uruchamiania. Oznacza to, że użytkownik może uzyskać dostęp do funkcji polecenia cmdlet tylko za pośrednictwem polecenia serwera proxy.
- PowerShell01 — pokazuje, jak utworzyć ograniczony obszar runspace przy użyciu obiektu InitialSessionState.
- PowerShell02 — pokazuje, jak używać puli obszarów runspace do współbieżnego uruchamiania wielu poleceń.
Przykłady hostów
- Host01 — pokazuje, jak zaimplementować aplikację hosta korzystającą z niestandardowego hosta. W tym przykładzie tworzona jest przestrzeń uruchomieniowa używająca niestandardowego hosta, a następnie interfejs API programu PowerShell jest używany do uruchamiania skryptu wywołującego
exit. Następnie aplikacja hosta analizuje dane wyjściowe skryptu i wyświetla wyniki. - Host02 — pokazuje, jak napisać aplikację hosta korzystającą ze środowiska uruchomieniowego programu Windows PowerShell wraz z niestandardową implementacją hosta. Aplikacja hosta ustawia kulturę hosta na język niemiecki, uruchamia polecenie cmdlet
Get-Processi wyświetla wyniki, jak można je zobaczyć przy użyciu pwrsh.exe, a następnie wyświetla bieżące dane i czas w języku 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 programu . 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 programu . Ta aplikacja hosta obsługuje również wywołania komputerów zdalnych przy użyciu poleceń cmdlet
Enter-PSSessioniExit-PSSession. - 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 do określenia koloru tekstu wprowadzonego przez użytkownika.
Przykłady dostawców
AccessDBProviderSample01 — pokazuje, jak zadeklarować klasę dostawcy, która pochodzi bezpośrednio z klasy CmdletProvider. Jest on uwzględniony tylko w przypadku kompletności.
AccessDBProviderSample02 — pokazuje, jak zastąpić metody NewDrive i RemoveDrive w celu obsługi wywołań poleceń cmdlet
New-PSDriveiRemove-PSDrive. 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 poleceń cmdlet
Get-ItemiSet-Item. Klasa dostawcy w tym przykładzie pochodzi z klasy ItemCmdletProvider.AccessDBProviderSample04 — pokazuje, jak zastąpić metody kontenera w celu obsługi wywołań do poleceń cmdlet
Copy-Item,Get-ChildItem,New-ItemiRemove-Item. Te metody należy zaimplementować, gdy magazyn danych zawiera elementy, które są kontenerami. Kontener to grupa elementów podrzę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ń poleceń cmdlet
Move-ItemiJoin-Path. Te metody należy zaimplementować, 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ń do poleceń cmdlet
Clear-Content,Get-ContentiSet-Content. Te metody należy zaimplementować, 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.