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.
Program PowerShell to powłoka wiersza polecenia i język skryptowy w jednym. Program PowerShell został uruchomiony w systemie Windows, aby ułatwić automatyzowanie zadań administracyjnych. Teraz jest uruchamiana międzyplatformowa i może być używana do różnych zadań.
Co sprawia, że program PowerShell jest unikatowy, to to, że akceptuje i zwraca obiekty platformy .NET, a nie tekst. Ta funkcja ułatwia łączenie różnych poleceń w potoku.
Do czego można użyć programu PowerShell?
Początkowo program PowerShell był tylko systemem Windows. Teraz jest ona międzyplatformowa i może być używana do różnych zadań, takich jak:
- Zarządzanie chmurą. Program PowerShell może służyć do zarządzania zasobami w chmurze. Możesz na przykład pobrać informacje, zaktualizować lub wdrożyć nowe zasoby.
- Ciągła integracja/ciągłe wdrażanie. Może być również używany jako część potoku ciągłej integracji/ciągłego wdrażania.
- Automatyzowanie zadań dla usług Active Directory i Exchange. Służy do automatyzowania niemal dowolnego zadania w systemie Windows, takiego jak tworzenie użytkowników w usłudze Active Directory i skrzynkach pocztowych w programie Exchange.
Kto używa programu PowerShell?
Program PowerShell to zaawansowane narzędzie, które może pomóc osobom pracującym w wielu rolach. Tradycyjnie program PowerShell był używany przez administratorów systemu. Teraz jest ona używana przez osoby nazywające się DevOps, Cloud Ops, a nawet Deweloperzy.
Polecenia cmdlet programu PowerShell
Program PowerShell zawiera setki wstępnie zainstalowanych poleceń. Polecenia programu PowerShell są nazywane poleceniami cmdlet (wymawiane polecenia).
Nazwa każdego polecenia cmdlet składa się z pary Verb-Noun . Na przykład Get-Process. Ta konwencja nazewnictwa ułatwia zrozumienie, co robi polecenie cmdlet. Ułatwia również znajdowanie szukanych poleceń. Jeśli szukasz polecenia cmdlet do użycia, możesz filtrować czasownik lub rzeczownik.
Używanie poleceń cmdlet do eksplorowania programu PowerShell
Po pierwszym odebraniu programu PowerShell może to wydawać się zastraszające, ponieważ wydaje się, że jest tak wiele do nauki. Program PowerShell został zaprojektowany tak, aby ułatwić ci naukę w miarę potrzeb.
Program PowerShell zawiera polecenia cmdlet, które ułatwiają odnajdywanie programu PowerShell. Korzystając z tych trzech poleceń cmdlet, możesz dowiedzieć się, jakie polecenia są dostępne, co robią i na jakich typach działają.
-
Get-Verb. Uruchomienie tego polecenia zwraca listę zleceń, do których stosuje się większość poleceń. Odpowiedź zawiera opis tego, co robią te czasowniki. Ponieważ większość poleceń jest przestrzegana tej konwencji nazewnictwa, określa oczekiwania dotyczące działania polecenia. To polecenie ułatwia wybranie odpowiedniego zlecenia i nazwy polecenia podczas tworzenia własnych poleceń. -
Get-Command. To polecenie pobiera listę wszystkich poleceń zainstalowanych na maszynie. -
Get-Member. Działa na danych wyjściowych opartych na obiektach i jest w stanie wykryć, jaki obiekt, właściwości i metody są dostępne dla polecenia. -
Get-Help. Wywołanie tego polecenia z nazwą polecenia jako argument wyświetla stronę pomocy opisującą różne części polecenia.
Za pomocą tych poleceń możesz odnaleźć niemal wszystko, co musisz wiedzieć o programie PowerShell.
Verb
Czasownik jest ważnym pojęciem w programie PowerShell. Jest to standard nazewnictwa, który następuje w większości poleceń cmdlet. Jest to również standard nazewnictwa, który powinien być obserwowany podczas pisania własnych poleceń. Chodzi o to, że czasownik mówi, co próbujesz zrobić, jak odczytywać lub zmieniać dane. Program PowerShell ma ustandaryzowaną listę zleceń. Aby uzyskać pełną listę wszystkich możliwych czasowników, użyj Get-Verb polecenia cmdlet :
Get-Verb
Polecenie cmdlet zwraca długą listę zleceń. Opis zawiera kontekst tego, co ma robić czasownik. Oto kilka pierwszych wierszy danych wyjściowych:
Verb AliasPrefix Group Description
---- ----------- ----- -----------
Add a Common Adds a resource to a container, or attaches an item to another item
Clear cl Common Removes all the resources from a container but does not delete the container
Close cs Common Changes the state of a resource to make it inaccessible, unavailable, or unusab…
Copy cp Common Copies a resource to another name or to another container
Enter et Common Specifies an action that allows the user to move into a resource
Exit ex Common Sets the current environment or context to the most recently used context
...
Znajdowanie poleceń za pomocą Get-Command
Polecenie Get-Command cmdlet zwraca listę wszystkich dostępnych poleceń zainstalowanych w systemie. Lista może być duża. Możesz ograniczyć ilość informacji, które są zwracane, filtrując odpowiedź przy użyciu parametrów lub poleceń cmdlet pomocnika.
Filtruj według nazwy
Dane wyjściowe Get-Command można filtrować przy użyciu różnych parametrów. Filtrowanie umożliwia znajdowanie poleceń, które mają określone właściwości. Parametr Name umożliwia znalezienie określonego polecenia według nazwy.
Get-Command -Name Get-Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
Co zrobić, jeśli chcesz znaleźć wszystkie polecenia, które działają z procesami? Możesz użyć symbolu wieloznakowego * , aby dopasować inne formy ciągu. Przykład:
Get-Command -Name *-Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Start-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Management
Filtrowanie według czasownika i czasownika
Istnieją inne parametry, które filtrują wartości czasowników i nounów. Część czasownika nazwy polecenia jest najbardziej lewą częścią. Czasownik powinien być jedną z wartości zwracanych przez Get-Verb polecenie cmdlet. Najbardziej właściwą częścią polecenia jest część wierzchołka. Noun może być niczym.
Filtruj według zlecenia. W poleceniu
Get-Processczęść czasownika toGet. Aby odfiltrować część czasownika , użyj parametru Czasownik.Get-Command -Verb 'Get'W tym przykładzie wymieniono wszystkie polecenia używające czasownika
Get.Filtruj według nounu. W poleceniu
Get-Process, częścią nounu jestProcess. Aby filtrować dla unu, użyj parametru Noun . Poniższy przykład zwraca wszystkie polecenia cmdlet, które mają nouns począwszy od literyU.Get-Command -Noun U*
Ponadto możesz połączyć parametry, aby zawęzić wyszukiwanie, na przykład:
Get-Command -Verb Get -Noun U*
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-UICulture 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Get-Unique 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Get-Uptime 7.0.0.0 Microsoft.PowerShell.Utility
Filtrowanie wyników za pomocą poleceń cmdlet pomocnika
Możesz również użyć innych poleceń cmdlet do filtrowania wyników.
Select-Object. To uniwersalne polecenie ułatwia wybranie określonych właściwości z co najmniej jednego obiektu. Możesz również ograniczyć liczbę elementów, które otrzymujesz. Poniższy przykład zwraca wartości właściwości Name i Source dla pierwszych 5 poleceń dostępnych w bieżącej sesji.Get-Command | Select-Object -First 5 -Property Name, SourceName Source ---- ------ Add-AppPackage Appx Add-AppPackageVolume Appx Add-AppProvisionedPackage Dism Add-AssertionOperator Pester Add-ProvisionedAppPackage DismAby uzyskać więcej informacji, zobacz Select-Object (Wybieranie obiektu).
Where-Object. To polecenie cmdlet umożliwia filtrowanie obiektów zwracanych na podstawie wartości właściwości. Polecenie przyjmuje wyrażenie, które może przetestować wartość właściwości. Poniższy przykład zwraca wszystkie procesy, w którychProcessNamerozpoczyna się odp.Get-Process | Where-Object {$_.ProcessName -like "p*"}Polecenie
Get-Processcmdlet zwraca kolekcję obiektów procesu. Aby odfiltrować odpowiedź, należy przekazać dane wyjściowe doWhere-Object. Potokowanie oznacza, że co najmniej dwa polecenia są połączone za pośrednictwem znaku potoku|. Dane wyjściowe z jednego polecenia są wysyłane jako dane wejściowe dla następnego polecenia. Wyrażenie filtru-likedlaWhere-Objectoperatora używa operatora do dopasowywania procesów rozpoczynających się literąp.
Eksplorowanie obiektów za pomocą Get-Member
Po zlokalizowaniu żądanego polecenia cmdlet chcesz dowiedzieć się więcej o tym, jakie dane wyjściowe generuje. Polecenie Get-Member cmdlet wyświetla typ, właściwości i metody obiektu. Przeprowadź potok danych wyjściowych, które chcesz sprawdzić w pliku Get-Member.
Get-Process | Get-Member
Wynik wyświetla zwrócony typ jako TypeName i wszystkie właściwości i metody obiektu. Oto fragment takiego wyniku:
TypeName: System.Diagnostics.Process
Name MemberType Definition
---- ---------- ----------
Handles AliasProperty Handles = Handlecount
Name AliasProperty Name = ProcessName
...
Za pomocą parametru MemberType można ograniczyć zwracane informacje.
Get-Process | Get-Member -MemberType Method
Domyślnie program PowerShell wyświetla tylko kilka właściwości. W poprzednim przykładzie wyświetlono Nameelementy członkowskie , MemberTypei Definition . Możesz użyć Select-Object polecenia , aby określić właściwości, które chcesz zobaczyć. Na przykład chcesz wyświetlić tylko Name właściwości i Definition :
Get-Process | Get-Member | Select-Object Name, Definition
Wyszukiwanie według typu parametru
Get-Member pokazano nam, że Get-Process zwraca obiekty typu procesu . Parametr Get-CommandParameterType polecenia może służyć do znajdowania innych poleceń, które przyjmują obiekty Procesu jako dane wejściowe.
Get-Command -ParameterType Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Enter-PSHostProcess 7.1.0.0 Microsoft.PowerShell.Core
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Get-PSHostProcessInfo 7.1.0.0 Microsoft.PowerShell.Core
Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Znajomość typu danych wyjściowych polecenia może pomóc w zawężaniu wyszukiwania powiązanych poleceń.