powershell - Core IT Program
Download
Report
Transcript powershell - Core IT Program
PowerShell dla każdego
Paweł Zdziarski
[email protected]
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 PowerShell 3.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
Polecenia do zarządzania zasobami
Polecenia
Cmdlets PowerShell
Dir
Get-ChildItem
Move
Move-Item
Ren
Rename-Item
Del, RmDir
Remove-Item
Copy
Copy-Item
MkDir
New-Item
Cd
Set-Location
Get-Location
Get-ItemProperty
Set-Item
Set-ItemProperty
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), OutPrinter (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 InvokeCommand
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 LONDC1 –AsJob
Wyświetlanie zadań Get-Job
Stopowanie, usuwanie zawieszanie
Receive-Job wyciąganie wyników zadań
Co nowego w
PowerShell 3.0
Paweł Zdziarski [email protected]
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ładnia
v2.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
1.
Instalacja cechy PowerShell Web Access
(GUI, PowerShell - Install-WindowsFeature –Name
WindowsPowerShellWebAccess)
2.
Konfiguracja bramki (Install-PswaWebApplication)
3.
Konfiguracja reguł autoryzacyjnych (m.in. Add-PswaAuthorizationRule)
4.
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 – NewIseSnippet)
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
Certyfikacja MTA - Microsoft
Technology Associate
Certyfikacja MTA - Microsoft
Technology Associate
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
wpisz tekst (wstaw obrazek)
Pytanie i odpowiedzi
[email protected]