Polecenia i skrypty konsoli Windows PowerShell

Podobne dokumenty
Trochę o plikach wsadowych (Windows)

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Nieskonfigurowana, pusta konsola MMC

1 Przygotował: mgr inż. Maciej Lasota

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

Programowanie w języku Python. Grażyna Koba

Symfonia Produkcja. Kreator raportów. Wersja 2013

trainxx tramxx

Windows XP Wiersz polecenia

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Cw.12 JAVAScript w dokumentach HTML

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Programowanie obiektowe

Dodatki. Dodatek A Octave. Język maszyn

Pracownia internetowa w szkole ZASTOSOWANIA

Temat: Kopiowanie katalogów (folderów) i plików pomiędzy oknami

Na komputerach z systemem Windows XP zdarzenia są rejestrowane w trzech następujących dziennikach: Dziennik aplikacji

Ćwiczenie: JavaScript Cookies (3x45 minut)

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Podstawy JavaScript ćwiczenia

Dane słowa oraz wyrażenia są tłumaczone przy pomocy polecenia Przetwarzanie > Tłumaczenie

SERWER AKTUALIZACJI UpServ

Zadanie 2. Tworzenie i zarządzanie niestandardową konsolą MMC

Konsola i interpreter poleceń

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Skrócona instrukcja funkcji logowania

SPIS TREŚCI: 1. INSTALACJA SYSTEMU SIMPLE.ERP LOGOWANIE DO SYSTEMU ZMIANA HASŁA PLANOWANIE INFORMACJE DODATKOWE...

Ćwiczenie Zmiana sposobu uruchamiania usług

Ustalanie dostępu do plików - Windows XP Home/Professional

Zakład Systemów Rozproszonych

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Utworzenie pliku. Dowiesz się:

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

Języki skryptowe w programie Plans

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

Laboratorium A: Podstawy administrowania serwerem

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

INSTRUKCJA UŻYTKOWNIKA Instalacja KS - EDE w systemie KS - ZSA ISO 9001:2008 Dokument: Wydanie: 1 Waga: 90

Narzędzia informatyczne w językoznawstwie

SYSTEMY OPERACYJNE ĆWICZENIE POLECENIA SYSTEMU MSDOS

SERWER AKTUALIZACJI UpServ

Zasoby dyskowe: Eksplorator Windows Z zasobami dyskowymi związane są nierozłącznie prawa dostępu gwarantujące możliwość odczytu, kasowania,

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Tomasz Greszata - Koszalin

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Wprowadzenie do Doctrine ORM

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

I. Program II. Opis głównych funkcji programu... 19

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Laboratorium - Poznawanie FTP

Wykład 2 Składnia języka C# (cz. 1)

Instrukcja Instalacji. Instalacja lokalna

4. Podstawowa konfiguracja

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

Ed Wilson. Windows PowerShell Krok po kroku 3.0. Przekład: Marek Włodarz

Technologie Informacyjne - Linux 2

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Instrukcja obsługi serwera FTP v

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Programowanie obiektowe

Instrukcja programowania

Instalacja NOD32 Remote Administrator

Exchange 2007 Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange 2007 wersja 1.1 UNIZETO TECHNOLOGIES S.A.

Wstęp do Programowania Lista 1

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Technologie informacyjne lab. 4

Wprowadzenie do programowania

Umieszczanie kodu. kod skryptu

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:

Środowisko programisty Zestaw 7

SERWER AKTUALIZACJI UpServ

Telewizja przemysłowa (CCTV) w RACS 5

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

Laboratorium Systemów Operacyjnych

Ćwiczenie 1. Wprowadzenie do programu Octave

Procedura aktualizacji systemu TelkomBud. dla serwera DBfC w wersji 4.x

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

Czytnik kart pamięci 8w1, Conrad USB 2.0 Instrukcja obsługi

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

KURSY PROGRAMOWANIA DLA DZIECI

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Laboratorium - Narzędzia linii uruchamiania w systemie Windows 7

Transkrypt:

Polecenia i skrypty konsoli Windows PowerShell Laboratorium Systemów Operacyjnych - zajęcia nr 9 1 Konsola Windows PowerShell PowerShell zbudowany w jest w metodologi obiektowej. W dużym uproszeniu można powiedzieć, że wszystkie dostępne elementy są tutaj obiektami a nie jak w Linuxie plikami tekstowymi. Uruchomienie konsoli Windows PowerShell. Konsolę Windows PowerShell można uruchomić na wiele sposobów np. ALT-R powershell, Win+powershell (wybieramy konsolę z odpowiednimi uprawnieniami lub środowisko programowania skryptów PowerShell ISE) itd. Wybór między konsolą a środowiskiem ISE zależy od zadania do wykonania oraz własnych preferencji. Polecenie cmdlets (Command-Lets). Nazwa polecenia (cmdlet) jest dwuczłonowa, składa się z czasownika i rzeczownika: Verb-Noun. Czasownik określa operację(verb) jaką interpreter ma wykonać na kontekście rzeczownika (Noun). Cmdlet zostanie natychmiast wykonane gdy potwierdzimy nasz zamiar wciskając klawisz [Enter]. Na przykład cmdlet Get-Verb wyświetli listę dostępnych czasowników (operacji). Nazwy cmdlet ów mogą być długie i mało wygodne w szybkich interaktywnych sesjach konsoli. Istnieją więc aliasy dla wielu najczęściej wykonywanych poleceń. Listę aliasów można podejrzeć poleceniem Get-Alias. Uwaga, zwyczajowo w skryptach nie używa się aliasów tylko pełne nazwy cmdlet ów. Aliasy mają zwykle postać znaną Państwu z konsoli CMD lub powłoki Linuxa np. alias ls spowoduje wyświetlenie zawartości bieżącego katalogu. Gdy wykonamy polecenie Get-Alias ls otrzymam z jakim cmdlet em skojarzony jet alias (ls). W ten sposób mogą Państwo poznać większość podstawowych cmdlet ów służących do zarządzania katalogami i plikami w PowerShell u System pomocy. Lista cmdlet ów jest obszerna i cały czas podlega zmianom, więc korzystanie z nich wymaga posiadania aktualnych plików pomocy. Można je uzyskać uruchamiając w konsoli z prawami administratora polecenie Upadate-Help. System pomocy jest rozbudowany, szczególnie w środowisku ISE. W konsoli podstawowe polecenia pomocy to: Get-Help treść [-full -online -examples -ShowWindow], gdzie treść może być nazwą polecenia lub konceptu, który nas interesuje. Więcej informacji: Get-Help get-help -full Get-Command - lista wszystkich poleceń Get-Member - lista własności i metod dostępnych w interesującym nas obiekcie Get-Module - podaje listę modułów PowerShella, które zostały zaimportowane lub mogą być zaimportowane w bieżącej sesji 1

Zmienne i operatory. Powershell jest zorientowany obiektowo i dysponuje większością typów zmiennych znanych z innych języków obiektowych. Zwarty opis dotyczący dostępnych zmiennych i operatorów zawarty jest w pliku PowerShell LangRef v4.pdf, który powinni Państwo pobrać ze strony: http://www.microsoft.com/en-us/download/details.aspx?id=42554 i zapoznać się z nim. Operacje We/Wy w konsoli Wprowadzenie wielu poleceń w pojedynczej linii możliwe jest odseparowując polecenia znakiem średnika ; : $a = 1,2,3,4,5; $b = $a[2]; Write-Host $b Kontynuacja linii możliwa jest po skorzystaniu z znaku odwróconego apostrofu ( ): Write-Host To jest kontynuacja linii. Gdy polecenia przetwarzane są potokowo można złamać linię, wstawiając separator między poszczególnymi poleceniami. Zamiana sposobu wyświetlania tekstu Zmiana koloru wyświetlanego tekstu: Write-Host "tekst" -foregroundcolor "green" Zmiana koloru tła: Write-Host "tekst" -backgroundcolor Pisanie w negatywie: Write-Warning "Wystąpił błąd." Aby wyświetlić wartość zmiennej tekstowej można skorzystać z polecenia Write-Output $zmienna. Do pobrania znaków wejściowych z konsoli $a = Read-Host "Please enter your name" należy skorzystać z polecenia: Read-Host. Czyszczenie okna konsoli: Clear-Host lub alias cls Kopiowanie / Wklejanie Aby włączyć możliwość prostego kopiowania i wklejania do konsoli Windows PowerShell, należy wykonać następujące kroki: 1. Uruchomić Windows PowerShell, kliknąć prawym przyciskiem myszy ikonę w lewym górnym rogu, wybrać Properties. 2. W oknie Windows PowerShell Properties na zakładce Options wybrać QuickEdit Mode, kliknąć OK. Aby skopiować tekst z konsoli PowerShell należy zaznaczyć tekst i nacisnąć Enter. Aby wkleić tekst do konsoli należy kliknąć w obszarze konsoli prawym przyciskiem myszy Czytanie z pliku tekstowego Aby przeczytać zawartość pliku tekstowego należy skorzystać z polecenia Get-Content, podając jako parametr ścieżkę do pliku: $a = Get-Content C:\{}Scripts\{}Test.txt Każda linia w pliku posiada swój numer. Numer ten zapisany jest w tablicy $a[ indeks ]. Aby odnieść się do poszczególnych linii należy użyć odpowiednich indeksów (numerów lini). Aby określić liczbę linii, słów, znaków w pliku tekstowym należy skorzystać z polecenia: Get-Content c:\{}scripts\test.txt Measure-Object -line -word -character 2

Zapisywanie do pliku tekstowego Aby zapisać dane w pliku tekstowym należy skorzystać z polecenia: Out-File: Get-Process Out-File C:\Scripts\Test.txt Aby dołączyć dane do pliku, który już posiada zawartość należy skorzystać z parametru append: Get-Process Out-File C:\Test.txt append Można także skorzystać z strumieni np.: Get-Process > C:\Scripts\Test.txt Polecenie Export-CSV zapisuje dane w formacie CSV (rozdzielając je przecinkami): Get-Process Export-CSV C:\Test.csv Dane można wydrukować za pomocą polecenia Out-Printer Dane mające postać tabeli wygodnie jest wyprowadzać za pomocą polecenia Out-GridView np.: Get-Process Out-GridView Sortowanie danych Aby posortować dane zwracane w PowerShell, należy przekierować wyjściowy strumień danych do polecenia Sort-Object określając kryterium, zgodnie z którym chce się dane posortować: Get-Process Sort-Object ID Można dodać parametry descending lub -ascending aby określić kolejność sortowania: Get-Process Sort-Object ID -descending Można posortować uwzględniając wiele właściwości: Get-Process Sort-Object ProcessName, ID Obiekty Zaglądanie do obiektu Aby uzyskać informacje o właściwościach i metodach obiektu, należy uzyskać dostęp do instancji tego obiektu, a następnie przekierować obiekt do polecenia Get-Member. Przykładowo, poniższe polecenie zwraca właściwości i metody dostępne przy pracy z procesami: Get-Process Get-Member Wyświetlanie właściwości Aby uzyskać dostęp do właściwości obiektu, należy przekierować wyjściowy strumień danych do polecenia Select-Object: Get-Process Select-Object Name, Company Praca z Windows Management Instrumentation (WMI) Technologia WMI powstała wcześniej niż PowerShell i jest elementem każdego współczesnego systemu Windows. WMI jest microsoftową implementacją modelu Common Information Model (CIM). Model ten definiuje zbiór klas dostarczających informacji o systemie Windows, które pozwalają na bezpośredni dostęp od różnych aspektów systemów lokalnych jak i zdalnych. W ogólności jest to repozytorium klas związanych z różnymi aspektami zarówno systemu operacyjnego jak i sprzętu. Jeżeli na przykład dodajemy do systemu nową funkcjonalność np rolę serwera DNS, dzięki WMI ta funkcjonalność jest automatycznie instalowano oraz tworzone są instancję odpowiednich obiektów którymi możemy zarządzać. Dostęp do WMI możliwy jest z konsoli CMD za pomocą programu wmic. Program ten pozwala na uzyskanie dowolnej informacji o komputerze. Gdy korzystamy z PowerShell, aby uzyskać informacje o komputerze przy wykorzystaniu technologi WMI, należy skorzystać z polecenia Get-WMIObject podając jako parametr nazwę klasy: Get-WMIObject Win32 BIOS Jeżeli klasa nie występuje w obszarze nazw cimv2, należy skorzystać z parametru -namespace: 3

Get-WMIObject SystemRestore -namespace root\default Aby uzyskać dostęp do danych na innym komputerze, należy skorzystać z parametru -computername: Get-WMIObject Win32 BIOS -computername k327 Aby ograniczyć zwracane dane, należy skorzystać z zapytania WQL i parametru -query: Get-WMIObject -query "Select * From Win32 Service Where State = Stopped " Tworzenie obiektów COM Aby rozpocząć pracę z obiektami COM, należy skorzystać z polecenia New-Object z parametrem -comobject podając identyfikator programu tzw. ProgID: $a = New-Object -comobject "Excel.Application" $a.visible = $True 2 Skrypty PowerShell Prawa do uruchamiania skryptów. Wykonywanie skryptów w PowerShell poddane jest pewnym restrykcjom tj. należy nabyć odpowiednie prawa wykonywania aby móc uruchomić skrypt. Domyślnie mogą być uruchamiane tylko skrypty podpisane przez zaufanego wystawcę certyfikatu. Aby uruchomić skrypt lokalnie niezależnie od czy został podpisany cyfrowo, czy nie, należy zmienić prawa na RemoteSigned korzystąc z polecenia Set-ExecutionPolicy. Bieżący status można sprawdzić poleceniem Get-ExecutionPolicy. Uruchamianie skryptów Skrypty można uruchomić z konsoli wpisując jego pełną ścieżkę do niego np. C: \skrypty\skrypt.ps1. Jeśli skrypt znajduje się bieżącym katalogu wystarczy podanie nazwy np. skrypt.ps1, gdyby to zwiodło to wpisujemy.\skrypt.ps1. W przypadku gdy nazwa lub ścieżka dostępu zawiera spacje należy pełną nazwę ująć w znakach cudzysłowu. Skrypt można uruchomić bez uruchamiania konsoli PowerShell np. z konsoli CMD lub linii komend Win+R, wywołując powershell.exe -noexit C:\Skrypty\skrypt.ps1. Parametr -noexit pozostawia okno konsoli po wykonaniu skryptu. Gdy konieczne jest wykonanie skryptu z prawami administratora uruchamia się skrypt wywołując interpreter z parametrem -RunAsAdministrator np. powershell.exe C:\Skrypty\skrypt.ps1 -RunAsAdministrator Argumenty linii poleceń. Dostęp do argumentów z którymi uruchamiany skrypt możliwy jest przez zmienną $args, która jest indeksowaną listą. Argumenty są indeksowane od 0, więc np. drugi argument znajduje się w zmiennej $args[1] itd. Dostęp do ostatniego argumentu można uzyskać przez wywołanie $args[-1]. Komentarze w tekście skryptu można umieść w pojedynczej osobnej linii zaczynającej się od znaku # lub w bloku wielu linii ograniczonych znakami <# i #> Instrukcje warunkowe. If ma ogólną postać: i f ( warunek ) { i n s t r u k c j e wykonywane j e s l i warunek z o s t a n i e s p e l n i o n y } e l s e i f ( warunek2 ) { i n s t r u k c j e wykonywane j e s l i warunek2 z o s t a n i e s p e l n i o n y } e l s e { i n s t r u k c j e j e s l i warunek i warunek2 n i e zostana s p e l n i o n e } 4

switch służy do wielokrotnego wyboru w zależności od wartości parametru: switch ( $parametr ) { 1 { i n s t r u k c j e, gdy $parametr eq 1} 2 { i n s t r u k c j e, gdy $parametr eq 2} 3 { i n s t r u k c j e, gdy $parametr eq 3} 4 { i n s t r u k c j e, gdy $parametr eq 4} d e f a u l t { i n s t r u k c j e gdy $parmetr eq inna wartosc } } Pętle For Pętlę for tworzy się według schematu f o r ( $ i =1; $ i l e 1 0 ; $ i++) { i n s t r u k c j e } For Pętlę foreach tworzy się według schematu f o r e a c h ( $a in $args ) { i n s t r u k c j e } Pętle warunkowe while i until. do { i n s t r u k c j e } while ( warunek ) Pętla until do { i n s t r u k c j e } u n t i l ( warunek ) Pętla while 3 Literatura Literatura dotycząca PowerShell a jest obszerna i łatwo dostępna w internecie np. książka Tobiasa Weltnera Mastering PowerShell. Pełna dokumentacja oraz kursy dostępne są na stronach Microsoftu. Dużo informacji można znaleźć na stronach grup użytkowników Powershella np.: http://powershellmagazine.com, http://powershell.com, http://powershell.org, http://poshcode.org Na stronach http://www.howtogeek.com znajdą Państwo serię krótkich artykułów wprowadzających w zagadnienia PowerShell a np. http://www.howtogeek.com/141495/geek-school-writing-your-first-full-powershell-script/ 5