Powershell: Základy
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				|  (Doplněn úvod, aby lépe vysvětloval princip.) |  (Aliasy přesunuty na tuto stránku ze stránky commandlets.) | ||
| Řádka 49: | Řádka 49: | ||
| * Více příkazů na jednom řádku oddělíme středníkem | * Více příkazů na jednom řádku oddělíme středníkem | ||
| * Case-insensitive... Nerozlišují se malá a velká písmena | * Case-insensitive... Nerozlišují se malá a velká písmena | ||
| + | |||
| + | |||
| + | == Aliasy == | ||
| + | * Protože jsou názvy commandletů dlouhé, existují k nim zkrácené verze — aliasy. | ||
| + | * Pokud existuje obdobný příkaz Windows nebo Linuxu, obvykle existují i odpovídající aliasy. | ||
| + | |||
| + |  Get-Alias ''alias'' | ||
| + |  Get-Alias -Name ''alias'' | ||
| + | * Dohledání původního příkazu k zadanému aliasu. | ||
| + | * Aliasy: gal | ||
| + | <div class="Priklad"> | ||
| + |  GetAlias md | ||
| + | Výstup: | ||
| + | * md → mkdir | ||
| + | </div> | ||
| + | |||
| + | |||
| + | * Jaký příkaz zastupuje alias <code>dir</code>? | ||
| + | <div class="Priklad">Get-Alias -Name dir</div> | ||
| + | |||
| + |  Get-Alias -Definition ''Zastoupený-příkaz'' | ||
| + | * Jaké aliasy můžeme použít místo zadaného commandletu? | ||
| + | <div class="Priklad"> | ||
| + |  GetAlias -Definition Get-ChildItem | ||
| + | Výstup: | ||
| + | * dir → Get-ChildItem | ||
| + | * ls → Get-ChildItem | ||
| + | </div> | ||
| + | |||
| <div class="Poznamka"> | <div class="Poznamka"> | ||
| Řádka 54: | Řádka 83: | ||
| *Pro ruční práci používejte zkrácené verze příkazů. | *Pro ruční práci používejte zkrácené verze příkazů. | ||
| *Skripty pište v plné verzi. | *Skripty pište v plné verzi. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| </div> | </div> | ||
| Řádka 81: | Řádka 106: | ||
| * Je složen z modulů, je možné, že nemáte nainstalován odpovídající modul. | * Je složen z modulů, je možné, že nemáte nainstalován odpovídající modul. | ||
| * Na Windows Serveru jsou některé moduly, které běžné Windows nemají. | * Na Windows Serveru jsou některé moduly, které běžné Windows nemají. | ||
| + | |||
| + | <div class="Varovani"> | ||
| + | Některé commandlety smí použít jen správce! | ||
| + | *Vyzkoušej spuštění PS jako správce! | ||
| + | </div> | ||
Verze z 19. 1. 2021, 18:17
| Obsah | 
Úvod
- Powershell je novější alternativou klasického příkazového řádku Windows.
- Zkratka PS.
- Zdrojový kód uvolněn veřejně. (Přeloženo i pro Linux.)
- Proč je třeba rozvíjet příkazový řádek?
- Snaha o jednotné ovládací rozhraní v CLI.
- S rozvojem cloudových řešení (Microsoft Azure) rostou nároky na automatizaci provozu a vytváření serverů.
- Díky aliasům můžeme použít
- nativní příkazy Windows
- nativní příkazy Unixu (ale parametry už obvykle ne)
- Srovnání s Bashem
- Unix je zaměřený na práci se soubory — ovládání systému se řeší zápisem do virtuálních souborů.
- Windows jsou zaměřené na ovládání skrz API — nejsou zde odpovídající virtuální soubory.
- Předávání dat mezi programy neprobíhá formou plain-textu, ale objektů.
Pojmy
- Workflow
- Možnost spustit sadu příkazů a zavřít aktivní shell, i když dávka ještě běží.
 
- Cmdlet (Commandlet)... nativní příkaz Powershellu
Syntaxe
-  Názvy commandletů
-  Sloveso+pomlčka+podstatné_jméno
- Podstatné jméno je vždy v jednotném čísle.
 
-  
-  Slovesa v názvech commandletů
-  Get-,Set-
-  Add-
-  Copy-,Remove-,Move-
-  Import-,Export-,ConvertTo-
-  Start-,Stop-
-  Příklad: Get-Help
-  Výpis všech dostupných sloves: Get-Verb
 
-  
- Přepínače... začínají pomlčkou
-  Parametry přepínačů
- Přepínač může mít více parametrů oddělených čárkou
 
-  Sady přepínačů
- Některé kombinace přepínačů mohou fungovat spolu.
- Jiné přepínače nelze kombinovat.
 
-  Metaznaky
-  *... zastupuje libovolné znaky.
 
-  
- Více příkazů na jednom řádku oddělíme středníkem
- Case-insensitive... Nerozlišují se malá a velká písmena
Aliasy
- Protože jsou názvy commandletů dlouhé, existují k nim zkrácené verze — aliasy.
- Pokud existuje obdobný příkaz Windows nebo Linuxu, obvykle existují i odpovídající aliasy.
Get-Alias alias Get-Alias -Name alias
- Dohledání původního příkazu k zadanému aliasu.
- Aliasy: gal
GetAlias md
Výstup:
- md → mkdir
-  Jaký příkaz zastupuje alias dir?
Get-Alias -Name dir
Get-Alias -Definition Zastoupený-příkaz
- Jaké aliasy můžeme použít místo zadaného commandletu?
GetAlias -Definition Get-ChildItem
Výstup:
- dir → Get-ChildItem
- ls → Get-ChildItem
Doporučení:
- Pro ruční práci používejte zkrácené verze příkazů.
- Skripty pište v plné verzi.
Ovládání Powershellu
-  Tabulátor→ doplňování příkazů
-  #fráze + Tabulátor- vyhledává frázi v historii použitých příkazů
 
-  Nastavení prostředí
- Pravé tlačítko na ikonku v levé horní části okna.
 
ISE
- Integrated Servis Environment
- Obdoba IDE pro programovací jazyky.
- Má kontextovou nápovědu.
Při problémech a nefunkčních návodech
-  Powershell se vyvíjí, přibývají nové příkazy a varianty syntaxe.
- Od Win 8 a Win Srv 2012 verze 3
- Díky tomu ale některé návody nemusí vždy fungovat.
 
- Je složen z modulů, je možné, že nemáte nainstalován odpovídající modul.
- Na Windows Serveru jsou některé moduly, které běžné Windows nemají.
Některé commandlety smí použít jen správce!
- Vyzkoušej spuštění PS jako správce!
Zdroje
- Microsoft Virtual Academy: Getting Started with PowerShell
- Advanced Tools & Scripting with PowerShell
- Powershell.org
