W tej edycji Szkoły Geek pomożemy Ci zrozumieć potężny język skryptowy PowerShell wbudowany bezpośrednio w system Windows i jest niezwykle przydatny do poznania w środowisku IT.
Podczas gdy ta seria nie jest zorganizowana wokół egzaminu, nauka PowerShell jest jedną z najważniejszych rzeczy, które możesz zrobić jako administrator sieci, więc jeśli jest coś, co chcesz nauczyć się pomagać w karierze IT, to jest to. Poza tym jest dużo zabawy.
PowerShell to najpotężniejsze narzędzie do automatyzacji, jakie ma do zaoferowania Microsoft, a także język powłoki i skryptów.
Należy pamiętać, że ta seria jest oparta na PowerShell 3, który jest dostarczany z Windows 8 i Serwerem 2012. Jeśli korzystasz z systemu Windows 7, pobierz aktualizację PowerShell 3, zanim przejdziesz dalej.
Istnieją dwa sposoby interakcji z PowerShell po wyjęciu z pudełka, konsola i zintegrowane środowisko skryptowe - znane również jako ISE. ISE znacznie poprawiła się z ohydnej wersji dostarczanej z PowerShell 2 i można ją otworzyć, naciskając kombinację klawiszy Win + R, aby wyświetlić pole uruchamiania, a następnie wpisując powershell_ise i naciskając klawisz enter.
Jak widać, ISE ma widok podzielony, dzięki czemu możesz szybko pisać scenki, a jednocześnie widzieć wynik w dolnej połowie ISE. Dolna część ISE, w której drukowane są wyniki twojego skryptu, może być również używana jako monit REPL - podobnie jak w wierszu polecenia. V3 ISE wreszcie dodał wsparcie dla intellisense zarówno w okienku skryptu, jak i konsoli interaktywnej.
Ewentualnie możesz współpracować z PowerShell przy użyciu Konsoli PowerShell, której używam w większości z tej serii. Konsola PowerShell zachowuje się podobnie do wiersza polecenia - wystarczy wprowadzić polecenia i wypluwa wyniki. Aby otworzyć konsolę Windows PowerShell, ponownie naciśnij kombinację klawiszy Win + R, aby otworzyć pole uruchamiania i wpisz polecenie powershell, a następnie naciśnij klawisz enter.
Komunikaty REPL, takie jak te, są niesamowite do natychmiastowej satysfakcji: wprowadzasz polecenie i dostajesz wyniki. Konsola nie oferuje intellisense, ale oferuje coś, co nazywa się uzupełnianiem kart, które działa tak samo - po prostu zacznij wpisywać polecenia i naciskaj tabulator, aby przełączać się między możliwymi dopasowaniami.
W poprzednich wersjach programu PowerShell pliki pomocy były dołączane podczas instalowania systemu Windows. To było dobre rozwiązanie, ale pozostawiło nam znaczący problem. Kiedy zespół pomocy PowerShell musiał przestać pracować nad plikami pomocy, programiści PowerShell wciąż byli zajęci kodowaniem i wprowadzaniem zmian. Oznaczało to, że kiedy PowerShell został dostarczony, pliki pomocy były niepoprawne, ponieważ nie zawierały nowych zmian, które zostały wprowadzone do kodu. Aby rozwiązać ten problem, program PowerShell 3 nie zawiera plików pomocy i zawiera system pomocy, który można zaktualizować. Oznacza to, że zanim zrobisz cokolwiek, będziesz chciał pobrać najnowsze pliki pomocy. Możesz to zrobić, otwierając konsolę PowerShell i uruchamiając:
Aktualizacja-Pomoc
Gratulujemy uruchomienia pierwszego polecenia PowerShell! Prawda jest taka, że polecenie Update-Help ma o wiele więcej opcji niż po prostu uruchomienie, a aby je zobaczyć, będziemy chcieli zobaczyć pomoc dla polecenia. Aby wyświetlić pomoc dotyczącą polecenia, wystarczy przekazać nazwę polecenia, które ma pomóc, do parametru Name polecenia Get-Help, na przykład:
Get-Help -Name Update-Help
Pewnie zastanawiasz się, jak interpretować cały tekst, mam na myśli, dlaczego w sekcji składni są dwie partie informacji i dlaczego jest tak wiele nawiasów w całym miejscu? Po pierwsze: powodem są dwa bloki informacji w sekcji składni, ponieważ reprezentują one różne sposoby uruchamiania polecenia. Są to technicznie zwane zestawy parametrów i można ich używać tylko na raz (nie można mieszać parametrów z różnych zestawów). Na powyższym zrzucie ekranu widać, że górny zestaw parametrów ma parametr SourcePath, a na dole nie. Powodem jest to, że używałbyś najwyższego zestawu parametrów (takiego, który zawiera SourcePath), gdybyś aktualizował pliki pomocy z innego komputera w sieci, który już je pobrał, podczas gdy nie musiałbyś określać ścieżki źródłowej, jeśli chciałem tylko pobrać najnowsze pliki od Microsoftu.
Aby odpowiedzieć na drugie pytanie, istnieje pewna składnia, za którą odpowiadają pliki pomocy, a oto ona:
Podczas gdy powinieneś nauczyć się czytać składnię pliku pomocy, jeśli nie masz pewności co do konkretnego parametru, po prostu dopisz -Usuń na końcu polecenia get help i przewiń w dół do sekcji parametrów, gdzie dowiesz się więcej o każdym z nich parametr.
Get-Help -Name Update-Help -Full
Ostatnią rzeczą, którą powinieneś wiedzieć o systemie pomocy, jest to, jak możesz go użyć do odkrywania poleceń, co w rzeczywistości jest bardzo łatwe. Widzisz, PowerShell akceptuje symbole wieloznaczne prawie wszędzie, więc ich użycie wraz z poleceniem Get-Help pozwala na łatwe wykrywanie poleceń. Na przykład szukam poleceń, które dotyczą usług systemu Windows:
Uzyskaj pomoc -Nazwa * usługa *
Oczywiście, wszystkie te informacje mogą nie być przydatne dla nietoperza, ale zaufaj mi, poświęć czas i naucz się korzystać z systemu pomocy. Przydaje się cały czas, nawet zaawansowanym skryptom, którzy robią to od lat.
Nie byłoby to właściwe wprowadzenie bez wspominania o bezpieczeństwie.Największym zmartwieniem zespołu PowerShell jest to, że PowerShell staje się najnowszym i największym punktem ataków dla dzieci-skryptów. Wprowadzili kilka środków bezpieczeństwa, aby upewnić się, że tak się nie stanie, więc spójrzmy na nie.
Najbardziej podstawową formą ochrony jest fakt, że rozszerzenie pliku PS1 (rozszerzenie używane do oznaczenia skryptu PowerShell) nie jest zarejestrowane na hoście PowerShell, którego faktycznie zarejestrowano w Notatniku. Oznacza to, że dwukrotne kliknięcie pliku otworzy się za pomocą notatnika zamiast działać.
Po drugie, nie możesz uruchamiać skryptów z powłoki po prostu wpisując nazwę skryptu, musisz podać pełną ścieżkę do skryptu. Jeśli więc chcesz uruchomić skrypt na dysku C, musisz wpisać:
C: \ runme.ps1
Lub jeśli jesteś już w katalogu głównym dysku C, możesz użyć:
. \ runme.ps1
W końcu PowerShell ma coś, co nazywa się zasadami wykonywania, co powstrzymuje cię przed uruchomieniem jakiegokolwiek starego skryptu. W rzeczywistości domyślnie nie można uruchamiać żadnych skryptów i trzeba zmienić zasady wykonywania, jeśli chcesz mieć możliwość ich uruchamiania. Istnieją 4 ważne zasady realizacji:
Aby zobaczyć, jaka jest aktualna polityka wykonywania, otwórz konsolę PowerShell i wpisz:
Get-ExecutionPolicy
W przypadku tego kursu i większości innych okoliczności, Polityka zdalnego wyboru jest najlepsza, więc śmiało i zmień swoje zasady za pomocą następujących zasad.
Uwaga: Należy to zrobić z podwyższonej konsoli PowerShell.
Set-ExecutionPolicy RemoteSigned
To wszystko na ten czas ludzie, do zobaczenia jutro po więcej zabawy z PowerShell.
Zastrzeżenie: Właściwym terminem dla polecenia PowerShell jest cmdlet i od teraz będziemy używać tej właściwej terminologii. Po prostu lepiej było nazwać je poleceniami do tego wprowadzenia.
Jeśli masz jakieś pytania, możesz tweetować mnie @taybgibb, lub po prostu zostawić komentarz.