PowerShell Remoting Jerzy Mikołajczak 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010 1
Agenda PowerShell(słowem wstępu) Czym zatem jest Remoting? Wymagania Demo! Konfiguracja Trochę o sesjach Ciekawe zastosowania Bezpieczeństwo rozwiązania 2
PowerShell(słowem wstępu) PowerShell jest Rozbudowaną konsolą tekstową zawierającą cmdletów 3
PowerShell(słowem wstępu) Językiem skryptowym 4
PowerShell(słowem wstępu) Zbudowany na podstawie Możliwość wykorzystania platformy.net bezpośrednio w kodzie PowerShell 5
PowerShell(słowem wstępu) Narzędziem administracji i automatyzacji 6
Czym zatem jest Remoting? Konsola Język WinRM 2.0.NET WinRM 2.0 Platforma zarządzania serwerami Wsparcie dla IPMI Architektura klient (WinRS WinRS) server server(winrm WinRM) 7
Czym zatem jest Remoting? PowerShell 2.0 WinRM 2.0 8
Wymagania Oprogramowanie: Windows PowerShell 2.0 ;-).NET framework 2.0 SP1 lub późniejszy Windows Remote Management (WinRM WinRM) 2.0 System operacyjny: Windows indowsserver 2008 R2 Windows Server 2008 zservice Pack 2 Windows Server 2003 zservice Pack 2 Windows 7 Windows Vista z Service Pack 1,2 Windows XP zservice Pack 3 Windows Embedded POSReady 2009 Windows Embedded for Point of Service 1.1 9
Konfiguracja serwera Konfiguracja serwera jest prosta Enable-PSRemoting Ten cmdlet: Uruchamia Set-WSManQuickConfig WSManQuickConfig, który: Startuje usługę WinRM Ustawia jej tryb startowy na Automatyczny Tworzy Listener nasłuchujący na wszystkich interfejsach sieciowych Dodaje regułę otwierającą Firewall dla protokołu WS-Management Pozwala na odbieranie poleceń z zdalnej maszyny we wszystkich zarejestrowanych konfiguracjach sesji PSR Restartuje usługę WinRM 10
Konfiguracja klienta W przypadku systemów Windows dla komputerów osobistych: Start-Service WinRM Set-Service WinRM -StartupType Automatic W przypadku środowiska Workgroupdodatkowo (KB951016: UAC Remote Restrictions): Oraz: Set-ItemProperty Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System Name LocalAccountTokenFilterPolicy Value 1 Type Dword Set-Item WSMan:\localhost\Client\TrustedHosts -Value *.mic.local Set-Item WSMan:\localhost\Client\TrustedHosts -Value hvm-1 Set-Item WSMan:\localhost\Client\TrustedHosts -Value * Windows XP wymaga dodatkowej uwagi : (Sharing and security model for local accounts-> Classic) Set-ItemProperty Path HKLM:\System\CurrentControlSet\Control\Lsa Name ForceGuest Value 0 11
Remoting: rodzaje Istnieją 4 sposoby korzystania z PSR: cmdletyz parametrem ComputerName ComputerName: Get-Command -CommandType cmdlet where { $_.parameters.keys -contains "ComputerName"} Korzystając z cmdletu Invoke-Command Command(alias: icm): icm $session ScriptBlock {get-something; do-something} Interactive Remoting: Enter-PSSession $session [remote]: PS C:\ Implicit Remoting Import-PSSession $session Module MyFunctions 12
Demo PS C:\ 13
Bezpieczeństwo Porty: 5985 lub 5986 dla SSL Uwierzytelnianie: W przypadku ActiveDirectory automatycznie zalogowanym użytkownikiem W przypadku Workgroup podajemy dane użytkownika Szyfrowanie: Active Diretory: Kerberos Workgroup: Negotiate(czyli de facto Kerberos albo NTLM) Możliwość wykorzystania SSL (-UseSSL UseSSL) Wymaga konfiguracji WinRM pod kątem certyfikatu: winrm create winrm/config/listener?address=*+transport=https @{Hostname="";CertificateThumbprint=""} W przypadku certyfikatów Self-Signed Signedmusimy dodać SkipCACheck SkipCACheckprzy przy tworzeniu sesji (da się to ustawić globalnie) 14
Bezpieczeństwo cd. Zdalne sesje: out out-of of-the the-box box tylko dla administratorów możliwość stworzenia konfiguracji sesji dla zwykłego użytkownika Użytkownik nie może otworzyć zdalnej sesji w konfiguracji innej niż mu przypisana przez Administratora Lista dostępnych cmdletów Lista zabronionych cmdletów 15
Dziękuję za uwagę! Kontakt: support-mic@man.poznan.pl 16