380 likes | 571 Views
PowerShell dla każdego. Paweł Zdziarski pzdziarski@cts.com.pl www.cts.com.pl. AGENDA. Wprowadzenie do PowerShell Podstawowe możliwości i sposoby rozwiazywania problemów PsProviders i PSDrives Przetwarzanie potokowe Filtrowanie Zdalny dostęp Skrypty i bezpieczeństwo
E N D
PowerShell dla każdego Paweł Zdziarski pzdziarski@cts.com.pl www.cts.com.pl
AGENDA Wprowadzenie do PowerShell Podstawowe możliwości i sposoby rozwiazywania problemów PsProviders i PSDrives Przetwarzanie potokowe Filtrowanie Zdalny dostęp Skrypty i bezpieczeństwo Co nowego w PowerShell3.0?
Wprowadzenie do PowerShell • Pierwsza wersja 2006 rok • Obecnie wersja 3.0 (dostępna od Visty w górę) • Dostęp przez konsolę • Komendy – Cmdlets • Główny sposób dostępu • Integrated Scripting Environement • Edytor skryptów • Coraz fajniejszy
Jak zacząć zabawę z PowerShell • PowerShell szanuje przyzwyczajenia użytkowników (ale trzeba uważać) • Polecenie Get-Help (-ShowWindow, -Example, -Online) • Konwencja poleceń jest spójna, przewidywalna czasownik – rzeczownik Get-Process • Znajdowanie poleceń Get-Command, help about* • Interpretacja wyników polecenia Get-Help • Aktualizacja pomocy Update-Help Save-Help
Uruchamia poleceń • Polecenia mają swoje skrócone nazwy, aliasy • Polecenia posiadają parametry • Polecenie Show-Command • Przełączniki –Confirm i –Whatif ratują życie • Zestawy poleceń są łączone w moduły • Moduły są dynamicznie ładowane (tylko w wersji 3.0) • Get-Module, Import-Module
PSProviders i PSDrives • Mechanizmy pozwalające na spójny, przewidywalny dostęp do zasobów systemu i aplikacji • Dane składowane są na odpowiednio nazwanych dyskach (PSDrives) • Get-PSProviders • Get-PSDrive • New-PSDrive
Przetwarzanie potokowe (pipeline) • Przetwarzanie potokowe pozwala na przekazywanie wyników jednego polecenia jako parametrów do drugie polecenia • Get-service | out-file services.txt • Polecenia PowerShell generują obiekty • Obiekty mają właściwości, metody, i zdarzenia • Polecenie Get-Member i już jestem specjalistą od PowerShella
Konwertowanie, Eksportowanie i Importowanie obiektów • Konwertowanie do formatów CSV, HTML, XML (ConvertTo, Export) • Importowanie danych (Import-CSV, Import-CliXML) – próba rekonstrukcji obiektów • Polecenie Get-Content tylko czyta zawartość bez rekonstrukcji obiektów • ConvertFrom stara się zrekonstruować obiekty
Filtrowanie obiektów • Polecenie Where-Object • Get-Service | Where-Object Status –eq Running – proste filtrownie • Get-SMBShare | Where Name –like '*$*' • Get-PhysicalDisk | Where-Object –FilterScript { $PSItem.HealthStatus –eq 'Healthy' } • Get-Volume | Where { $PSItem.DriveType –eq 'Fixed' –and $PSItem.FileSystem –eq 'NTFS' } • Pamiętajmy o wydajności – filtrujmy jak najwcześniej
Formatowanie wyników • Format-List, Format-Table, Format-Wide • Domyślne zasady formatowania • Grupowanie wynikow –GroupBy • Przekierowanie wyników Out-Host (ekran), Out-File (plik tekstowy), Out-Printer (drukarka) • Polecenie Out-GridView ułatwia filtrowanie i wysukiwanie
Zmienne • Zmienne posiadają własny PSDrive VARIABLE: • Nazwa rozpoczyna się od symbolu $ • $serv = get-services, $liczba = 5, $nazwa = „jakiś tekst” • Zmienne mają swoje zakresy
Zdalny dostęp • Protokół WS-MAN, domyślnie HTTP (może być HTTPS) • Zarządzany przez usługę WinRM • Domyślnie włączony w Windows Server 2012 • Dostępny na dowolnym systemie z PowerShell 2.0 lub 3.0 • Musi być włączony na każdym komputerze którym chcemy zarządzać zdalnie
Włączenie zdalnego dostępu • Ręcznie: polecenie Enable-PSRemoting z uprawnieniami administrator • Centralnie: za pomocą Group Policy • Problem z komputerami mającymi ustawiony profil „public” na interfejsie sieciowym • Windows 2012 domyślnie włączony
Dostęp zdalny: Jeden do jednego • Rozpoczęcie Enable-PSSession –computername • Praca w zdalnej sesji • Wyjście z sesji Exit-PSSession
Zdalny dostęp: Jeden do wielu • Polecenie Invoke-Command wysyła polecenie, skrypt do wielu systemów • Rezultat zawiera właściwość PSComputerName
Tworzenie stałych sesji • PSSession – nawiązanie stałej sesji • W sesji można wykonywać polecenia, skrypty, można się od niej odłączyć, podłączyć, zamknąć • Tworzenie sesji New-PSSesion (można utworzyć zmienną) • Wejście do sesji Enter-PSSession • Uruchomienie polecenia w sesji przełącznik –Session w poleceniu Invoke-Command • Disconnect-PSSession (odłączenie), Get-PSSession (wyświetlenie sesji) Connect-PSSesion (ponowne podłączenie się do sesji)
Skrypty i bezpieczeństwo • Skrypt ma rozszerzenie .ps1 • Domyślnie nie można skryptu uruchomić • Skrypt może zrobić krzywdę • Poziomy polityk wykonywania skryptów m.in.: Restricted, AllSigned, RemoteSigned, Unrestricted • Polecenie Set-ExecutionPolicy • Paramentr do PowerShell.exe –executionPolicy • Można zarządzać przez GroupPolicy
Profile • Profil to skrypt, który uruchamia się automatycznie przy otwarciu nowej konsoli PowerShell • Fajne, ale trzeba uważać bo może boleć • Zmienna $profile • Konsola i ISE oraz użytkownicy mogą mieć różne profile
Zadania w tle • Uruchomienie poleceń w tle(konsola dostępna w tym czasie) • Lokalna zadania – Start-Job –ScriptBlock {Dir} • Zdalne zadania Invoke-Command – ScriptBlock {Get-Service} –ComputerName LON-DC1 –AsJob • Zadania WMI Get-WmiObject – Class Win32_BIOS –computername LON-DC1 –AsJob • Wyświetlanie zadań Get-Job • Stopowanie, usuwanie zawieszanie • Receive-Job wyciąganie wyników zadań
Co nowego w PowerShell 3.0 Paweł Zdziarski pzdziarski@cts.com.pl
Agenda Historia Zarządzanie Windows 2012 i Windows 8 Ułatwienia w pracy z poleceniami Sesje zdalne PowerShell Web Access Zaplanowane zadania w tle Nowości w Integrated Scripting Environment (ISE) Workflow Podsumowanie
Historia Wersja 1.0 - 2006 rok Wersja 2.0 – 2009 rok wiele nowości (PowerShell Remoting, Background Jobs, Modules, Windows PowerShell Integrated Scripting Environment (ISE) Wersja 3.0 – 2012 rok
Zarządzanie Windows 2012 i Windows 8 Ok 2 500 poleceń Nowe moduły Możliwość zarządzania rolami, cechami, ustawieniami (no prawie wszystkim )
Ułatwienia w pracy z poleceniami Automatyczne ładowanie modułów Uproszczona składniav2.0 – get-service | where {$_.status -eq 'running'}v3.0 - get-service | where status -eq 'running’v2.0 - Get-Process Notepad |foreach {$_.Kill()} v3.0 - Get-process Notepad |foreach kill
Ułatwienia w pracy z poleceniami Nowe parametry Get-ChildItem (Directory, File, Hidden, ReadOnly,System Polecenie Show-Command Możliwość aktualizacji Pomocy(Update-Help, Save-Help)
Sesje zdalne Możliwość podłączenia się do wcześniej stworzonej sesji Zostają zachowane dane w sesji nawet jeśli mamy kłopoty z połączeniem sieciowym Możliwość połączenia się z innego komputera Disconnect-PSSession, Connect-PSSession, Receive-PSSession
PowerShell Web Access Dostęp do konsoli PowerShell za pomocą przeglądarki (nie tylko IE, nie tylko Windows) Windows PowerShell Web Access Gateway – cecha Windows 2012 Dostęp do poprzez bramkę do innych systemów z Powershell i dostępem zdalnym
PowerShell Web Access - wdrożenie Instalacja cechy PowerShell Web Access(GUI, PowerShell - Install-WindowsFeature –NameWindowsPowerShellWebAccess) Konfiguracja bramki (Install-PswaWebApplication) Konfiguracja reguł autoryzacyjnych (m.in. Add-PswaAuthorizationRule) Dostęp PowerShell Web Access (https://nazwahosta/pswa
Zaplanowane zadania w tle Możliwość wywołania operacji w tle w danym czasie lub po danej akcji (New-JobTrigger) Rejestracja zaplanowanych zadań (Register-ScheduledJob) Wyświetlanie zaplanowanych zadań (Get-ScheduledJob)
Nowości w Integrated Scripting Environment (ISE) InteliSense Snippets (wzorce poleceń, składni, możliwość tworzenia własnych – New-IseSnippet) Okno Show Command Możliwość pobrania i załadowania dodatków
Workflow Pozwala na automatyzację skomplikowanych operacji wymagających czasu Pozwala zarządzać wieloma komputerami Zaplonowane, uruchamiane w określonym czasie, po danych operacjach np. logowanie
Oferta dla uczestników • Promocja na szkolenie 10961 - Automating Administration with Windows PowerShell. • Termin 26 – 30 sierpnia 2013 • Miejsce CTS Warszawa Filipinki 20 • Cena z rabatem 1990 netto PLN
Warsztaty online • Dostęp do na stronie http://cts.com.pl/Warsztaty.html – za darmo, wymagana tylko rejestracja. • Nowości i archiwum • Aktualne nowości
Podsumowanie wpisz tekst (wstaw obrazek)
Pytanie i odpowiedzi Pzdziarski@cts.com.pl