Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Niniejszy dodatek zawiera zwięzłe odpowiedzi na pytania przeglądowe znalezione na końcu każdego rozdziału. Użyj go, aby zweryfikować zrozumienie i wzmocnić kluczowe pojęcia.
Rozdział 1 — wprowadzenie do programu PowerShell
- Użyj zmiennej automatycznej
$PSVersionTable. - Tylko wtedy, gdy musisz pominąć kontrolę konta użytkownika (UAC) dla zadań wymagających podniesienia uprawnień na komputerze lokalnym.
- Domyślne zasady wykonywania w systemach klienckich Windows to
Restricted, co uniemożliwia uruchamianie skryptów. - Użyj
Get-ExecutionPolicypolecenia, aby określić bieżącą politykę wykonywania. - Użyj
Set-ExecutionPolicy(na przykładSet-ExecutionPolicy -ExecutionPolicy RemoteSigned).
Rozdział 2 — System pomocy
- Nie. Parametr DisplayName w
Get-Servicejest określony nazwą, a nie pozycją. -
Get-Processma sześć zestawów parametrów. - Użyj
Get-Command -Noun EventLog. - Użyj
Get-Process -Name powershell. - Uruchom
Update-Help(podwyższony poziom uprawnień jako administrator w programie Windows PowerShell), aby pobrać i zainstalować najnowszą zawartość pomocy.
Rozdział 3 . Odnajdywanie obiektów, właściwości i metod
-
Get-ProcesstworzySystem.Diagnostics.Processobiekt. - Przekieruj polecenie do
Get-Member. - Sprawdź, czy obiekt ma metodę wykonującą akcję.
- Użyj parametru
PassThrupolecenia, jeśli istnieje. - Uruchom polecenie raz i zapisz wyniki w zmiennej, aby uniknąć wielokrotnego generowania dużych ilości danych wyjściowych podczas tworzenia prototypów.
Rozdział 4 — One-Liners i potok
- Jeden potok programu PowerShell jest jednym potokiem ciągłym, niezależnie od liczby linii fizycznych, które obejmuje.
- Naturalne podziały wierszy mogą występować przy znakach, takich jak pałka (
|), przecinek (,), nawiasy kwadratowe ([ ]), nawiasy klamrowe ({ }) i nawiasy okrągłe (( )). - Należy zastosować filtrację z lewej strony, aby poprawić wydajność i efektywność przez zmniejszenie ilości danych przekazywanych przez potok.
- Polecenie może akceptować dane wejściowe z potoku na podstawie wartości (typu) lub nazwy właściwości.
- Ponieważ większość treści w Galeria programu PowerShell jest współtworzyna przez społeczność i może nie zostać zweryfikowana, należy ją przejrzeć i przetestować przed użyciem.
Rozdział 5 . Formatowanie, aliasy, dostawcy, porównanie
- Ponieważ polecenia cmdlet formatowania tworzą obiekty formatu, które przerywają działanie pipeline'u i nie mogą być używane przez większość innych poleceń.
- Użyj
Get-Alias -Name %polecenia , aby określić rzeczywiste polecenie cmdlet. - Ponieważ aliasy zmniejszają czytelność i przenośność, utrudniając innym osobom zrozumienie skryptów.
- Służy
Get-ChildItem -Path HKLM:\, HKCU:\do wyświetlania listy kluczy rejestru w obu gałęziach. - Operator
-replacejest domyślnie niewrażliwy na wielkość liter, natomiast metoda.Replace()rozróżnia wielkość liter.
Rozdział 6 — Sterowanie przepływem
-
ForEach-Objectprzetwarza elementy pojedynczo z potoku (strumieniowania), podczas gdyforeachinstrukcja przetwarza elementy z kolekcji już załadowanej do pamięci. - Pętla
whileocenia swój warunek przed uruchomieniem, więc może nie zostać uruchomiona w ogóle, jeśli warunek jest fałszywy, w przeciwieństwie dodo whileido until, które są uruchamiane co najmniej raz. -
breakcałkowicie kończy pętlę, pomijająccontinuebieżącą iterację i przechodzi do następnej.
Rozdział 7 — Korzystanie z usługą WMI
- Polecenia cmdlet usługi WMI (na przykład
Get-WmiObject) są starsze i używają modelu DCOM, natomiast polecenia cmdlet modelu CIM (na przykładGet-CimInstance) są nowsze i domyślnie używają narzędzia WSMan. - WSMan (Windows zdalne zarządzanie).
- Sesje modelu ciM umożliwiają ponowne używanie połączeń, obsługę poświadczeń alternatywnych, zwiększanie wydajności i upraszczanie zarządzania wieloma połączeniami zdalnymi.
- Utwórz opcję sesji z
New-CimSessionOption, na przykład aby użyć DCOM, przekaż ją doNew-CimSession, a następnie skorzystaj z tej sesji zGet-CimInstance. - Użyj
Remove-CimSession.
Rozdział 8 — Zdalna komunikacja programu PowerShell
- Użyj
Enable-PSRemoting. - Użyj
Enter-PSSession. - Umożliwia ona używanie sesji trwałej zamiast określania nazwy komputera i poświadczeń przy użyciu każdego polecenia.
- Tak, możesz użyć sesji programu PowerShell (PSSession) w scenariuszu interaktywnego zdalnego dostępu jeden na jeden.
- Polecenia cmdlet uruchamiane lokalnie zwracają obiekty na żywo z metodami, podczas gdy polecenia zdalne zwracają deserializowane obiekty bez metod.
Rozdział 9 — Funkcje
- Użyj
Get-Verb. -
[CmdletBinding()]Dodaj atrybut do funkcji. - Gdy funkcja wprowadza zmiany w stanie systemu lub wykonuje potencjalnie wpływające akcje.
- Podaj wartość
-ErrorAction Stop. - Aby udokumentować sposób użycia funkcji, tak aby zarówno ty, jak i inni mogli ją łatwo zrozumieć i uzyskać dostęp do pomocy w usłudze
Get-Help.
Rozdział 10 — moduły skryptów
-
.psm1Utwórz plik i umieść w nim funkcje. - Użycie zatwierdzonych czasowników zapewnia spójność, unika ostrzeżeń i zwiększa możliwości odnajdywania.
- Użyj
New-ModuleManifest. - Użyj
Export-ModuleMemberw.psm1pliku lub określ funkcje wFunctionsToExportpolu.psd1pliku. - Moduł musi znajdować się w folderze o tej samej nazwie co moduł, umieszczonym w ścieżce wymienionej w
$env:PSModulePath, i zawierać właściwy plik modułu (.psm1lub manifest).
Uwagi końcowe
- Odpowiedzi te są celowo zwięzłe, aby wzmocnić kluczowe pojęcia.
- Ponownie zajmij się rozdziałami, aby lepiej zrozumieć.
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.