{"id":23063,"date":"2023-07-28T05:00:00","date_gmt":"2023-07-28T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=23063"},"modified":"2023-07-24T15:42:00","modified_gmt":"2023-07-24T13:42:00","slug":"odnajdz-sie-w-powershell-wykorzystanie-systemu-pomocy","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/odnajdz-sie-w-powershell-wykorzystanie-systemu-pomocy\/","title":{"rendered":"Odnajd\u017a si\u0119 w PowerShell \u2013 wykorzystanie systemu pomocy"},"content":{"rendered":"\n<p>Czy zdarzy\u0142o ci si\u0119 kiedy\u015b, wykonywa\u0107 t\u0119 sam\u0105 czynno\u015b\u0107 tak wiele razy, \u017ce od klikania w myszk\u0119, a\u017c rozbola\u0142a ci\u0119 r\u0119ka? W\u0142a\u015bnie w takich sytuacjach z pomoc\u0105 przychodzi opracowany przez Microsoft PowerShell, pot\u0119\u017cne narz\u0119dzie do automatyzacji i zarz\u0105dzania systemami operacyjnymi.<\/p>\n\n\n\n<p>Jedn\u0105 z najwa\u017cniejszych i wartych poznania funkcji w PowerShell jest system pomocy, kt\u00f3ry dostarcza obszern\u0105 dokumentacj\u0119, przyk\u0142ady kodu oraz pomocne wskaz\u00f3wki dla u\u017cytkownik\u00f3w. Ten artyku\u0142 jest przewodnikiem po systemie pomocy w PowerShell, kt\u00f3ry pomo\u017ce Ci w wykorzystaniu pe\u0142nego potencja\u0142u narz\u0119dzia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Zacznijmy od pocz\u0105tku<\/strong><\/h2>\n\n\n\n<p>Osoba, kt\u00f3ra pierwszy raz s\u0142yszy o Powershell, mo\u017ce zada\u0107 sobie pytanie: \u201eJak to uruchomi\u0107?\u201d. Nic prostszego \u2013 wystarczy wpisa\u0107 \u201eWindows Powershell\u201d w opcji wyszukiwania znajduj\u0105cej si\u0119 na pasku zada\u0144 systemu Windows.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz1-2.png\"><img decoding=\"async\" width=\"605\" height=\"515\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz1-2.png\" alt=\"Uruchamianie Powershell\" class=\"wp-image-23064\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz1-2.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz1-2-300x255.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz1-2-400x340.png 400w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 1 Uruchamianie Powershell<\/figcaption><\/figure>\n\n\n\n<p><strong>Uwaga!<\/strong> Wykonanie niekt\u00f3rych polece\u0144 mo\u017ce wymaga\u0107 uruchomienia konsoli z uprawnieniami administratora, jednak w tym wpisie nie b\u0119dzie nam to potrzebne. <\/p>\n\n\n\n<p>Patrz\u0105c na powy\u017csz\u0105 grafik\u0119, nasun\u0105\u0107 si\u0119 mo\u017ce pytanie o to, czym jest Windows Powershell ISE. Spokojnie, to zagadnienie om\u00f3wi\u0119 troszeczk\u0119 p\u00f3\u017aniej.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz2.png\"><img decoding=\"async\" width=\"605\" height=\"363\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz2.png\" alt=\"Okno konsoli Powershell\" class=\"wp-image-23066\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz2.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz2-300x180.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 2 Okno konsoli Powershell<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Polecenia w PowerShell<\/strong><\/h2>\n\n\n\n<p>Po uruchomieniu programu widzimy tylko takie okno jak powy\u017cej. Je\u017celi zastanawiacie si\u0119, co z tym dalej zrobi\u0107, odpowied\u017a jest bardzo prosta. Wystarczy wpisa\u0107 odpowiednie dla naszych zamiar\u00f3w polecenie cmdlet.<\/p>\n\n\n\n<p>Polecenia w PowerShell maj\u0105 bardzo <strong>konkretn\u0105 struktur\u0119:<\/strong> Czasownik-Rzeczownik, czyli CO chcemy zrobi\u0107 i NA CZYM chcemy to wykona\u0107. Poni\u017cszy przyk\u0142ad <strong>Get-ChildItem<\/strong> wy\u015bwietla wszystkie pliki w folderze C:\\Kurs.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz3.png\"><img decoding=\"async\" width=\"597\" height=\"291\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz3.png\" alt=\"Polecenie Get-ChildItem\" class=\"wp-image-23068\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz3.png 597w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz3-300x146.png 300w\" sizes=\"(max-width: 597px) 100vw, 597px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 3 Polecenie Get-ChildItem<\/figcaption><\/figure>\n\n\n\n<p>Polecenia cmdlet mo\u017cemy r\u00f3wnie\u017c podawa\u0107 z konkretnymi parametrami. W poni\u017cszym przyk\u0142adzie dodanie parametru <strong>-Directory<\/strong> wy\u015bwietla nam jedynie foldery. Warto skorzysta\u0107 tutaj z dost\u0119pnych opcji i za pomoc\u0105 klawiszy strza\u0142ek g\u00f3ra\/d\u00f3\u0142 odnale\u017a\u0107 ostatnio wpisywanie polecenia.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz4.png\"><img decoding=\"async\" width=\"603\" height=\"223\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz4.png\" alt=\"Parametr -Directory\" class=\"wp-image-23070\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz4.png 603w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz4-300x111.png 300w\" sizes=\"(max-width: 603px) 100vw, 603px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 4 Parametr -Directory<\/figcaption><\/figure>\n\n\n\n<p>Sk\u0105d mamy zna\u0107 wszystkie te polecenia? Czy powinni\u015bmy si\u0119 ich uczy\u0107 na pami\u0119\u0107? Ale\u017c sk\u0105d! Cmdlet\u00f3w s\u0105 tysi\u0105ce, a ka\u017cdy z nich mo\u017ce zawiera\u0107 nawet kilkana\u015bcie parametr\u00f3w. Gdyby\u015bmy poprosili profesjonalist\u0119 IT, aby z g\u0142owy wskaza\u0142, jak wykona\u0107 co\u015b w Powershell, prawdopodobnie nie uzyskaliby\u015bmy odpowiedzi. Jednak, daj\u0105c mu dost\u0119p do konsoli, po chwili, dzi\u0119ki systemowi pomocy, znalaz\u0142by rozwi\u0105zanie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Podstawowe polecenia<\/strong><\/h3>\n\n\n\n<p>Dwa podstawowe polecenia, kt\u00f3re warto zapami\u0119ta\u0107, to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Get-Verb<\/strong> \u2013 zwraca list\u0119 czasownik\u00f3w, czyli pierwszy cz\u0142on naszych polece\u0144. Jest to pomocne, gdy wiemy, co chcemy zrobi\u0107, lecz nie wiemy jak. Dla przyk\u0142adu: chc\u0105c utworzy\u0107 nowy folder, w naszej g\u0142owie mo\u017ce za\u015bwita\u0107 pomys\u0142, aby u\u017cy\u0107 czasownika CREATE. Jednak z Get-Verb szybko zobaczymy, i\u017c takowy nie jest wykorzystywany, a zamiast niego mo\u017cemy u\u017cy\u0107 NEW.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz5.png\"><img decoding=\"async\" width=\"349\" height=\"354\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz5.png\" alt=\"Get-Verb\" class=\"wp-image-23072\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz5.png 349w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz5-296x300.png 296w\" sizes=\"(max-width: 349px) 100vw, 349px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 5 Get-Verb<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Get-Command<\/strong> \u2013 wy\u015bwietla list\u0119 wszystkich polece\u0144 dost\u0119pnych w naszym systemie. Maj\u0105c wiedz\u0119, \u017ce szukamy czasownika NEW, mo\u017cemy wpisa\u0107 to jako parametr dla Get-Command i zamiast listy wszystkich polece\u0144, znale\u017a\u0107 te, zaczynaj\u0105ce si\u0119 od NEW.<br>Aby komenda zadzia\u0142a\u0142a poprawnie, na ko\u0144cu warto\u015bci New trzeba doda\u0107 symbol \u201e*\u201d, kt\u00f3ry oznacza dowoln\u0105 liczb\u0119 dowolnych znak\u00f3w. Czyli ca\u0142a komenda oznacza: Wy\u015bwietl wszystkie komendy zaczynaj\u0105ce si\u0119 od New.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz6.png\"><img decoding=\"async\" width=\"605\" height=\"252\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz6.png\" alt=\"Get-Command New*\" class=\"wp-image-23074\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz6.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz6-300x125.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 6 Get-Command New*<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Systemy pomocy<\/strong><\/h2>\n\n\n\n<p>Gdy znamy ju\u017c podstawy obs\u0142ugi polece\u0144 w Powershell i wiemy, jak odnale\u017a\u0107 te, kt\u00f3re nas interesuj\u0105, pora dowiedzie\u0107 si\u0119, jak uzyska\u0107 pomoc dotycz\u0105c\u0105 konkretnych cmdlet\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Klawisz TAB<\/strong><\/h3>\n\n\n\n<p>Rozpocznijmy od przydatnej funkcji autouzupe\u0142niania. Je\u017celi zaczniemy pisa\u0107 komend\u0119 i naci\u015bniemy klawisz TAB na klawiaturze, system automatycznie doko\u0144czy pisa\u0107 za nas. Je\u017celi to, co napisali\u015bmy, mo\u017ce zosta\u0107 doko\u0144czone na wiele sposob\u00f3w, wybierze pierwszy z nich (alfabetycznie), jednak naci\u015bni\u0119cie klawisza TAB spowoduje przej\u015bcie do kolejnej opcji.<\/p>\n\n\n\n<p>Dla przyk\u0142adu: chc\u0105c wyszuka\u0107 Get-ChildItem, po wpisaniu Get-C i naci\u015bni\u0119ciu klawisza TAB, pojawi nam si\u0119 Get-Certificate, a do oczekiwanego polecenia mo\u017cemy przeskoczy\u0107, naciskaj\u0105c klawisz jeszcze kilka razy. Jednak gdy napiszemy Get-Ch, po wci\u015bni\u0119ciu klawisza TAB pojawi si\u0119 Get-ChildItem, a kolejne pr\u00f3by nie dadz\u0105 nam innych wynik\u00f3w.<\/p>\n\n\n\n<p>Opcji autouzupe\u0142niania da si\u0119 te\u017c u\u017cy\u0107 do wyszukiwania potrzebnych parametr\u00f3w. Po wpisaniu polecenia mo\u017cemy wstawi\u0107 znak my\u015blnika i nacisn\u0105\u0107 TAB. Autouzupe\u0142nianie wy\u015bwietli pierwszy parametr (alfabetycznie) dost\u0119pny dla danego polecenia i pozwoli nam przeskakiwa\u0107 po nich tak, jak robili\u015bmy to z komendami.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Show-Command<\/strong><\/h3>\n\n\n\n<p>Funkcja Show-Command, tak samo jak Get-Command, wy\u015bwietla nam wszystkie dost\u0119pne polecenia. Robi to w oddzielnym oknie, kt\u00f3re po wybraniu odpowiedniego cmdletu, zawiera r\u00f3wnie\u017c jego parametry. Te, kt\u00f3re s\u0105 wymagane (w poni\u017cszym przyk\u0142adzie jest to \u015bcie\u017cka), oznaczono gwiazdk\u0105.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz7.png\"><img decoding=\"async\" width=\"274\" height=\"469\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz7.png\" alt=\"Show-Command\" class=\"wp-image-23077\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz7.png 274w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz7-175x300.png 175w\" sizes=\"(max-width: 274px) 100vw, 274px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 7 Show-Command<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Get-Help<\/strong><\/h3>\n\n\n\n<p>Get-Help wy\u015bwietla dokumenty pomocy dla wybranego polecenia. Cho\u0107 brzmi to niepozornie, jest najbardziej rozbudowan\u0105 opcj\u0105 pomocy.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8a.jpg\"><img decoding=\"async\" width=\"1024\" height=\"526\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8a-1024x526.jpg\" alt=\"Get-Help Get-Service\" class=\"wp-image-23134\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8a-1024x526.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8a-300x154.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8a-768x394.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8a.jpg 1398w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 8 Get-Help Get-Service<\/figcaption><\/figure>\n\n\n\n<p>Jak wida\u0107, pomoc jest podzielona na sekcje, a dodatkowo w REMARKS mo\u017cemy zauwa\u017cy\u0107, \u017ce Get-Help zawiera parametr <strong>-FULL,<\/strong> kt\u00f3ry wy\u015bwietli wszystkie, jeszcze bardziej szczeg\u00f3\u0142owe informacje na temat komendy. Nale\u017c\u0105 do nich chocia\u017cby przyk\u0142ady u\u017cycia \u2013 a te bywaj\u0105 szczeg\u00f3lnie cenne.<\/p>\n\n\n\n<p>Pe\u0142n\u0105 pomoc mo\u017cemy r\u00f3wnie\u017c wy\u015bwietli\u0107 w oddzielnym oknie za pomoc\u0105 parametru <strong>-ShowWindow.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz9.png\"><img decoding=\"async\" width=\"605\" height=\"314\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz9.png\" alt=\"Get-Help Get-Service -Full\" class=\"wp-image-23082\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz9.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz9-300x156.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 9 Get-Help Get-Service -Full<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>SYNTAX<\/strong><\/h3>\n\n\n\n<p>W kontek\u015bcie pomocy bardzo interesuj\u0105c\u0105 sekcj\u0105 jest SYNTAX, kt\u00f3ry nie dla wszystkich jest tak oczywisty do odczytania. Sp\u00f3jrzmy na niego na przyk\u0142adzie naszego Get-Service.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz10.png\"><img decoding=\"async\" width=\"605\" height=\"197\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz10.png\" alt=\"Get-Service SYNTAX\" class=\"wp-image-23085\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz10.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz10-300x98.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 10 Get-Service SYNTAX<\/figcaption><\/figure>\n\n\n\n<p>Jak mo\u017cemy zauwa\u017cy\u0107, wewn\u0105trz SYNTAX mamy oddzielone od siebie 3 zestawy parametr\u00f3w dla tego samego polecenia. S\u0105 to tak zwane Parameter Sets, czyli spos\u00f3b organizacji parametr\u00f3w w zale\u017cno\u015bci od r\u00f3\u017cnych sposob\u00f3w u\u017cycia. R\u00f3\u017cni\u0105 si\u0119 one wymaganiem lub opcjonalno\u015bci\u0105 niekt\u00f3rych parametr\u00f3w, a czasami zawieraj\u0105 r\u00f3wnie\u017c unikalne dla siebie parametry. Co wa\u017cne, mo\u017cna korzysta\u0107 tylko z jednego Parameter Set w jednym czasie.<\/p>\n\n\n\n<p>Jak rozpozna\u0107 czy dany parametr jest wymagany czy te\u017c nie? M\u00f3wi\u0105 nam o tym nawiasy kwadratowe []. Na powy\u017cszym przyk\u0142adzie dla pierwszego Parameter Set wida\u0107 zapis <strong>[-ComputerName &lt;System.string[]&gt;]<\/strong>. Taki zapis oznacza, \u017ce parametr ComputerName, jak i jego warto\u015b\u0107, s\u0105 opcjonalne, a je\u017celi chcemy ich u\u017cy\u0107, musimy napisa\u0107 zar\u00f3wno -ComputerName jak i warto\u015b\u0107, kt\u00f3ra jest opakowana w znaki &lt;&gt;.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz11.png\"><img decoding=\"async\" width=\"605\" height=\"304\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz11.png\" alt=\"Potencjalny parametr z warto\u015bci\u0105\" class=\"wp-image-23088\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz11.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz11-300x151.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 11 Potencjalny parametr z warto\u015bci\u0105<\/figcaption><\/figure>\n\n\n\n<p>Istnieje mo\u017cliwo\u015b\u0107, aby ca\u0142y parametr wraz z jego warto\u015bci\u0105 by\u0142 opcjonalny. Dodatkowo, gdy chcemy go u\u017cy\u0107, mo\u017cemy te\u017c pomin\u0105\u0107 nazw\u0119 parametru i od razu poda\u0107 warto\u015b\u0107, tak jest w trzecim Parameter Set dla parametru <strong>[[-Name] &lt;System.String[]&gt;]<\/strong>.<\/p>\n\n\n\n<p>Nawiasy kwadratowe wok\u00f3\u0142 ca\u0142ego parametru wraz z warto\u015bci\u0105 oznaczaj\u0105 to samo, co w pierwszym przyk\u0142adzie. Jednak dwa dodatkowe nawiasy wok\u00f3\u0142 -Name oznaczaj\u0105, \u017ce nie musimy podawa\u0107 parametru, a wystarczy jego warto\u015b\u0107.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz12.png\"><img decoding=\"async\" width=\"525\" height=\"183\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz12.png\" alt=\"Podana jedynie warto\u015b\u0107 opcjonalnego parametru\" class=\"wp-image-23090\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz12.png 525w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz12-300x105.png 300w\" sizes=\"(max-width: 525px) 100vw, 525px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 12 Podana jedynie warto\u015b\u0107 opcjonalnego parametru<\/figcaption><\/figure>\n\n\n\n<p>Sp\u00f3jrzmy teraz na przyk\u0142ad sk\u0142adni innego polecenia:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz13.png\"><img decoding=\"async\" width=\"605\" height=\"139\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz13.png\" alt=\"Get-EventLog Syntax\" class=\"wp-image-23092\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz13.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz13-300x69.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 13 Get-EventLog Syntax<\/figcaption><\/figure>\n\n\n\n<p>Mo\u017cemy tu zauwa\u017cy\u0107, \u017ce <strong>[-LogName]<\/strong> jest opcjonalne, ale jego warto\u015b\u0107 nie znajduje si\u0119 w nawiasach kwadratowych, czyli jest wymagana. Oznacza to, \u017ce mo\u017cemy, ale nie musimy, poda\u0107 parametr -LogName, ale bez podania jego warto\u015bci komenda nie zadzia\u0142a lub sama poprosi nas o podanie warto\u015bci parametru.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz14.png\"><img decoding=\"async\" width=\"605\" height=\"154\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz14.png\" alt=\"Wymagana warto\u015b\u0107 parametru\" class=\"wp-image-23096\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz14.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz14-300x76.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 14 Wymagana warto\u015b\u0107 parametru<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz15.png\"><img decoding=\"async\" width=\"526\" height=\"174\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz15.png\" alt=\"Co si\u0119 dzieje, gdy nie podamy wymaganej warto\u015bci lub parametru\" class=\"wp-image-23098\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz15.png 526w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz15-300x99.png 300w\" sizes=\"(max-width: 526px) 100vw, 526px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 15 Co si\u0119 dzieje, gdy nie podamy wymaganej warto\u015bci lub parametru<\/figcaption><\/figure>\n\n\n\n<p>Jest to te\u017c dobry moment na zobrazowanie, \u017ce parametry z r\u00f3\u017cnych Parameter Set nie zadzia\u0142aj\u0105 ze sob\u0105. Mogli\u015bmy zauwa\u017cy\u0107, \u017ce -List znajduje si\u0119 wy\u0142\u0105cznie w drugim Parameter Set. W poni\u017cszym przyk\u0142adzie pr\u00f3bowa\u0142em zastosowa\u0107 go z parametrami opisanymi w pierwszym Parameter Set.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz16.png\"><img decoding=\"async\" width=\"605\" height=\"122\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz16.png\" alt=\"Pr\u00f3ba u\u017cycia dw\u00f3ch Parameter Set\" class=\"wp-image-23100\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz16.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz16-300x60.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 16 Pr\u00f3ba u\u017cycia dw\u00f3ch Parameter Set<\/figcaption><\/figure>\n\n\n\n<p>Je\u017celi warto\u015b\u0107 parametru jest zako\u0144czona nawiasami kwadratowymi, tak jak w przypadku parametru <strong>[Source &lt;System.String[]],<\/strong> oznacza to, \u017ce mo\u017cemy poda\u0107 kilka warto\u015bci oddzielonych od siebie przecinkiem. Na poni\u017cszym przyk\u0142adzie wy\u015bwietlamy logi z dw\u00f3ch \u017ar\u00f3de\u0142: Outlook oraz VSS.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" width=\"605\" height=\"128\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz17.png\" alt=\"Wiele warto\u015bci\" class=\"wp-image-23102\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz17.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Obraz17-300x63.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><figcaption class=\"wp-element-caption\">Ryc. 17 Wiele warto\u015bci<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/18a.png\"><img decoding=\"async\" width=\"376\" height=\"639\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/18a.png\" alt=\"Wiele warto\u015bci\" class=\"wp-image-23104\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/18a.png 376w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/18a-177x300.png 177w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 18 Wiele warto\u015bci<\/figcaption><\/figure>\n\n\n\n<p>Niekt\u00f3re parametry musimy podawa\u0107 w odpowiedniej kolejno\u015bci. Decyduje o tym warto\u015b\u0107 <strong>Position?,<\/strong> kt\u00f3r\u0105 mo\u017cemy znale\u017a\u0107 w sekcji pomocy o nazwie Parameters. Jak mo\u017cemy zobaczy\u0107, -LogName ma warto\u015b\u0107 0, co oznacza, \u017ce musi zosta\u0107 podana jako pierwsza, -InstanceID ma warto\u015b\u0107 1, czyli musi zosta\u0107 podana jako druga, a -Newest ma warto\u015b\u0107 NAMED co oznacza, \u017ce mo\u017cemy u\u017cy\u0107 jej w dowolnym miejscu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/19a.jpg\"><img decoding=\"async\" width=\"1024\" height=\"480\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/19a-1024x480.jpg\" alt=\"Kolejno\u015b\u0107 parametr\u00f3w\" class=\"wp-image-23137\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/19a-1024x480.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/19a-300x141.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/19a-768x360.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/19a.jpg 1353w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 19 Kolejno\u015b\u0107 parametr\u00f3w<\/figcaption><\/figure>\n\n\n\n<p>Jak wida\u0107 na powy\u017cszym przyk\u0142adzie, gdy nie wskazali\u015bmy niewymaganych nazw parametr\u00f3w, a jedynie ich warto\u015bci, Powershell sam dopasowa\u0142, jakie parametry powinny by\u0107 u\u017cyte w zale\u017cno\u015bci od kolejno\u015bci. Dla pierwszych dw\u00f3ch przyk\u0142ad\u00f3w -LogName otrzyma\u0142o warto\u015b\u0107 SYSTEM, a InstanceID warto\u015b\u0107 0,1. Natomiast -Newest mo\u017ce by\u0107 u\u017cyte w dowolnym miejscu. Przy trzeciej pr\u00f3bie warto\u015b\u0107 System zosta\u0142a podana dla parametru InstanceID, co zako\u0144czy\u0142o si\u0119 b\u0142\u0119dem.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Intellisense<\/strong><\/h3>\n\n\n\n<p>Wspomnia\u0142em na pocz\u0105tku o Windows PowerShell ISE, wi\u0119c ju\u017c czas nieco przybli\u017cy\u0107 temat. Jest to \u015brodowisko programistyczne dostarczane przez system Windows, kt\u00f3re zosta\u0142o opracowane specjalnie dla programowania w j\u0119zyku PowerShell. Windows PowerShell ISE to graficzne narz\u0119dzie, kt\u00f3re oferuje rozbudowane funkcje edytora i \u015brodowiska wykonywania skrypt\u00f3w PowerShell. Ma ono jedn\u0105 przewag\u0119 nad zwyk\u0142\u0105 lini\u0105 komend Powershell w zakresie system\u00f3w pomocy \u2013 jest ni\u0105 w\u0142a\u015bnie Intellisense, czyli automatyczne wykrywanie i wy\u015bwietlanie dost\u0119pnych komend i parametr\u00f3w podczas pisania kodu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"548\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/20-1024x548.jpg\" alt=\"Intellisense\" class=\"wp-image-23139\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/20-1024x548.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/20-300x161.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/20-768x411.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/20.jpg 1376w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Ryc. 20 Intellisense<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p>System pomocy w Powershell to nieocenione narz\u0119dzie dla wszystkich, kt\u00f3rzy chc\u0105 efektywnie korzysta\u0107 z tego pot\u0119\u017cnego \u015brodowiska. Dzi\u0119ki sprawnemu korzystaniu z dost\u0119pnych opcji, nie musimy uczy\u0107 si\u0119 \u017cadnych komand na pami\u0119\u0107. Dobra znajomo\u015b\u0107 narz\u0119dzia pomocy wspiera nas nie tylko na pocz\u0105tku, ale pozwala nauczy\u0107 si\u0119 nowych rzeczy, nawet gdy jeste\u015bmy ju\u017c zaawansowani w pisaniu skrypt\u00f3w.<\/p>\n\n\n\n<p>Zach\u0119cam wszystkich do eksperymentowania z r\u00f3\u017cnymi poleceniami, poznawania ich funkcji i zastosowa\u0144 oraz wykorzystywania systemu pomocy jako niezawodnego przewodnika na \u015bcie\u017cce do automatyzacji.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;23063&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;4&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( votes: 4)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Odnajd\u017a si\u0119 w PowerShell \u2013 wykorzystanie systemu pomocy&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( votes: 4)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Czy zdarzy\u0142o ci si\u0119 kiedy\u015b, wykonywa\u0107 t\u0119 sam\u0105 czynno\u015b\u0107 tak wiele razy, \u017ce od klikania w myszk\u0119, a\u017c rozbola\u0142a ci\u0119 &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/odnajdz-sie-w-powershell-wykorzystanie-systemu-pomocy\/\">Continued<\/a><\/p>\n","protected":false},"author":547,"featured_media":23114,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1314],"tags":[1759,1546,440],"class_list":["post-23063","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-pomoc","tag-przeglad-narzedzi","tag-powershell"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Odnajdz-sie-w-PowerShell-\u2013-wykorzystanie-systemu-pomocy.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/23063"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/547"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=23063"}],"version-history":[{"count":2,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/23063\/revisions"}],"predecessor-version":[{"id":23141,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/23063\/revisions\/23141"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/23114"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=23063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=23063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=23063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}