---
title: 'PowerShell basics'
url: 'https://duckd.cz/en/home/powershell-basics'
markdown: 'https://duckd.cz/en/home/powershell-basics.md'
lang: en
date: '2014-02-01'
description: 'PowerShell basic http://en.wikipedia.org/wiki/Windows_PowerShell http://www.powershellpro.com/powershell-tutorial-introduction/powershell-tutorial-conditional-logic/ http://pechanec.cz/windows-powershell/ Windows 7 - %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -noprofile ISE - grafi…'
taxonomy:
  category:
    - windows
    - powershell
  tag:
    - powershell
    - cli
    - automation
  author:
    - josef-kubat
---

Documentation

# PowerShell basics

 [› Obsah stránky](#content) [› Zpět](https://duckd.cz/en) [› Nahoru](#top) 

## PowerShell basic

http://en.wikipedia.org/wiki/Windows\_PowerShell http://www.powershellpro.com/powershell-tutorial-introduction/powershell-tutorial-conditional-logic/ <http://pechanec.cz/windows-powershell/>

Windows 7 - %SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -noprofile ISE - grafický editor/studio na skriptování PowerGUI.org - Lepší než ISE, SW třetí strany (není vyvíjen MS)

### Názvosloví:

Cmdlet - specializované třídy, napsané v .NET kompatibilním jazyce

### Klávesové zkratky:

Doplňování - Tab/Shift Tab Historie (šipky, F7, \*-History, Get-History) Profily (stroj, uživatel) Aliasy (výchozí mohou mít konflikt s uživatelským) profile.ps1 Klávesové příkazy - F1-F12

# g - historie od G

### Základy:

- žádné skripty (Get(Set)-ExecutionPolicy restricted .ps1 asociováno s Notepad Vyžadováno určení cesty .\\skript.ps1 nebo absolutně (C:\\skript.ps1) Get-ExecutionPolicy Set-Execution Unrestricted˘

### Parametry:

- pojmenované: Get-EventLog -Logname System
- poziční: Get-EventLog System
- povinné: LogName:

### Přepínače:

- společné (about\_CommonParameters)
- "Cmdletové"

### Filtry

- include/-exclude Get-Service -include a\*
- filter Get-ADuser -filter {Name -eq "Admin"}

### Zřetězíme příkazy svislítkem

- výstup se odesílá pomocí objektu

### Where-Object

Get-Service | Where-Object{$\_.Status -eq "running"}

- $ tj.každý řádek

### Sort-Object

Get-Process | sort-object VM -Descending

### Select-Object

Get-Process | select ProcessName, ID

### Výstupy, Exporty, Importy

Out-File Out-Printer Out-Null Out-GridView Export-CSV (Import-CSV) Export-Clixml (Import-Clixml)

### Práce s texty

Get-Content Select-String Get-Content soubor.txt -Encoding UTF7 | Set-Content test.txt -Encoding UTF8

### Import modulů pro AD

Get-Module (nainstalované) Get-Module -ListAvailable (k dispozici) Import-Module ActiveDirectory Get-Command -Module ActiveDirectory

### Rozvoj - Proměnné

Proměnné

- Uvezené "$"
- "Beztypové"
- Lze i příště typové

$prvni = 1 $prvni = "Retezec" \[Int32\]$Druha = 4 $Druha = "Text" $Procesy = Get-Process Get-Date | Get-Member

$now = Get-Date $now.day 10

- Dočasná proměnná (Get-Date).day

### Pole

$pole = 1,2,3,4 # $pole\[2\] $pole\[-1\] - pocet prvku $pole += 5 (přidání do pole)

$servery = "Server1","S2","S3" Get-Service -ComputerNAme $servery

Hash table (pojmenované pole) $dny = @{"Prvni"="Pondeli";"Druhy"="Utery"} $dny.Prvni

### Operátory

Aritmetické (-AND, -OR) Přiřazovací Porovnávací Logické Přesměrování (>, >>, 2>, and 2>&1) Typové (-is, -isnot, -as) Ostatní

help about\_operators

### Por. operátory

-eq: Equal to -ne: Not equal to -le: Less than or equal to -gt: Greater than -lt: Less than -like: -nolike -match -notmatch -contains -notcontains -replace

Senzitivní varianty c *i* (ceq,ieq) Get-Service | where {$*.Status -like "run\*"} Get-Service | where {$*.Status -like "run*" -OR $\_.Status -like "Stop*" } 5 -eq 4

$False (neni promenna)

### Cykly

While Do-While For (užívá se v pipelajně) Foreach

$i = 1 do { $i++ } while ($i -le 5)

### Podmínky

If (podmínka) {blok} Elseif {blok2}

Get-Process | foreach {if($*.VM -gt 400MB) {Write-Host $*.Name,$\_.VM}}

### Větvení - switch (U verzí systemu či verzí programů)

$verze = "V1" switch ($verze) { V1 {"Windows 1"; break} V2 {"Windows 2"; break} Default {"Neznama verze"}

Switch \[-regx|-wildcard|-exact\]\[-casesensitive\]

### Rozvoj - Identity, hesla

Read-Host "Heslo" Read-Host "Heslo" -AsSecureString ConvertTo-SecureString $heslo = Read-Host "Heslo" -AsSecureString Get-Credential

Measure-Object Get-Member

$lide = Import-CSV .\\lide.csv -Delimiter ";" $lide\[0..2\] | Select Prijmeni, email

Get-Command \*service cmdlet New-Service (Zaregistruje novou sluzbu - snad cehokoliv)

Get-Process Stop-Process IDProcesu(Calc) Get-Process Calc | Stop-Process Get-Process Calc | Get-Member

$calc = Get-Process Calc $calc.kill()

### Ukoly

1\) Běžící služby zeleně, neběží červeně (použij: Get-Service, Foreach, If) Get-Service | foreach {if($*.Status -like "Running") {Write-Host $*.Status, $*.Name -ForegroundColor Green} else {Write-Host $*.Status, $\_.Name -ForegroundColor Red}}

2\) Pět největších souborů a složek v ProgramFiles get-childitem -recurse | Sort Length -Descending | select Name, Directory, length -First 5

3\) Všechny soubory na disku od Admina (použij: Get-Aoc) Get-Acl \* | Where-Object{$\_.Owner -like "BUILTIN\\Administrators"}

### Otázky

Pojmenování a spouštění skriptu (ps1?) Spouštění skriptu Funkce Cykly Roury Grep V1, V2, V3, V4 (jak importovat moduly/framework?)

- po restartu zůstává importovaný/deimportovat? Přesměrovat do souboru Get-Service | Out-File C:\_Data\_\\sluzby.txt

### Tags:

PowerShell Microsoft Reference: PowerShell - příklady

© www.duckd.cz

`Grav + Twig` • `atedo-quark` • `2026-09-25`

---

## Navigation

- Parent: [Home](https://duckd.cz/en/index.md)
- Previous: [Pokládka dlažby](https://duckd.cz/en/home/pokladka-dlazby.md)
- Next: [Silent install Windows programs](https://duckd.cz/en/home/silent%20install%20windows%20programs.md)
