Powershell: Cmdlets
Z MiS
(Rozdíly mezi verzemi)
m (→Aliasy: Doplnění vysvětlení) |
(→Správa počítače: Přidáno zjištění názvu počítače.) |
||
| (Není zobrazeno 13 mezilehlých verzí od 1 uživatele.) | |||
| Řádka 5: | Řádka 5: | ||
*Aliasy: <code>cd</code> | *Aliasy: <code>cd</code> | ||
Get-ChildItem | Get-ChildItem | ||
| − | *Aliasy: <code>ls</code>, <code>dir</code> | + | *Aliasy: <code>gci</code>, <code>ls</code>, <code>dir</code> |
| − | New-Item -ItemType Directory/File | + | New-Item -ItemType Directory/File ''název'' |
| + | * Aliasy: <code>ni</code>, <code>mkdir</code> | ||
* Vytvoření adresáře/souboru. | * Vytvoření adresáře/souboru. | ||
| − | Copy/Remove-Item | + | Copy/Remove-Item ''název'' |
| + | * Aliasy kopírování: <code>cp</code>, <code>cpi</code>, <code>copy</code> | ||
| + | * Aliasy mazání: <code>rm</code> | ||
Další commandlety pro práci se soubory a adresáři: | Další commandlety pro práci se soubory a adresáři: | ||
[https://docs.microsoft.com/en-us/powershell/scripting/samples/working-with-files-and-folders?view=powershell-6 Docs.Microsoft.com → Working with Files and Folders] | [https://docs.microsoft.com/en-us/powershell/scripting/samples/working-with-files-and-folders?view=powershell-6 Docs.Microsoft.com → Working with Files and Folders] | ||
| + | |||
| Řádka 18: | Řádka 22: | ||
| − | == | + | == Uživatelské účty a skupiny == |
| − | + | ; Vytvoření účtu | |
| − | + | Vytvoření účtu (systém se zeptá na heslo): | |
| + | New-LocalUser -Name ''username'' -FullName "''Jméno pro zobrazení na přihlašovací obrazovce''" | ||
| + | Vytvoření účtu s nastavením hesla: | ||
$Pass = Read-Host "Zadej heslo účtu ''username''" -AsSecureString | $Pass = Read-Host "Zadej heslo účtu ''username''" -AsSecureString | ||
| − | New-LocalUser -Name ''username'' -Password $Pass | + | New-LocalUser -Name ''username'' -FullName "''Jméno pro zobrazení na přihlašovací obrazovce''" -Password $Pass |
| − | * Změna hesla | + | Vytvoření účtu bez hesla: |
| + | New-LocalUser -Name ''username'' -FullName "''Jméno pro zobrazení na přihlašovací obrazovce''" -NoPassword | ||
| + | |||
| + | ; Práce se skupinami | ||
| + | |||
| + | Zařazení uživatelského účtu do skupiny: | ||
| + | Add-LocalGroupMember -Group "''Skupina''" -Member "''username''" | ||
| + | |||
| + | Zjištění členů skupiny: | ||
| + | Get-LocalGroupMember -Group "''Skupina''" | ||
| + | |||
| + | <div class="Poznamka"> | ||
| + | Při vytvoření účtu je vhodné uživatele zařadit do některé z těchto dvou skupin: | ||
| + | * <code>Users</code> ... běžný uživatel, který se může přihlásit (bez zařazení do této skupiny se nemůže přihlásit) | ||
| + | * <code>Administrators</code> ... bude to účet správce | ||
| + | </div> | ||
| + | |||
| + | ; Nastavení účtu | ||
| + | Změna hesla: | ||
$Pass = Read-Host "Zadej nové heslo účtu username" -AsSecureString | $Pass = Read-Host "Zadej nové heslo účtu username" -AsSecureString | ||
Set-LocalUser ''username'' -Password $Pass | Set-LocalUser ''username'' -Password $Pass | ||
| − | + | Odstranění hesla (nastavení prázdného hesla) — '''nedoporučujeme''': | |
| + | Set-LocalUser -name ''username'' -Password ([securestring]::new()) | ||
| + | Změna jména: | ||
Set-LocalUser ''username'' -FullName "''Nové jméno''" | Set-LocalUser ''username'' -FullName "''Nové jméno''" | ||
| + | Zablokování/odblokování účtu: | ||
| + | Enable-LocalUser ''username'' | ||
| + | Disable-LocalUser ''username'' | ||
| + | |||
| + | == Správa počítače == | ||
| + | |||
| + | ; Informace o počítači | ||
| + | $env:computername | ||
| + | * Proměnná obsahuje název počítače. | ||
| − | + | ; Součásti Windows | |
* Povolení/zákaz Hyper-V | * Povolení/zákaz Hyper-V | ||
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All | Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All | ||
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All | Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All | ||
| + | |||
| + | ; <code>Get_WmiObject</code> — informace o hardware a OS | ||
| + | * Může provádět jen správce (spusťte PowerShell jako správce): | ||
| + | Get-WmiObject -Class Win32_Bios | ||
* Informace o počítači | * Informace o počítači | ||
| − | + | Get-WmiObject -Class Win32_Product | |
| − | * | + | * Informace o nainstalovaných aplikacích. |
| + | Get-WmiObject -Class Win32_OperatingSystem | ||
| + | * Informace o operačním systému. | ||
| + | <div class="Priklad"> | ||
| + | Get-WmiObject -Class Win32_OperatingSystem | Select Caption, Version | ||
| + | * Vypíše edici a verzi systému. | ||
| + | </div> | ||
| + | |||
| + | |||
| + | ; Kontrola a oprava chyb | ||
| + | sfc /scannow | ||
| + | DISM /Online /Cleanup-Image /CheckHealth | ||
| + | Dism /Online /Cleanup-Image /RestoreHealth | ||
| + | |||
| + | * Viz: [https://winbuzzer.com/2020/04/15/restore-windows-corrupted-files-using-sfc-scannow-xcxwbt/ WinBuzzer → Restore Windows Currupted Files] | ||
| − | + | == Active Directory == | |
Get-ADComputer | Get-ADComputer | ||
*Povinný přepínač s filtrováním - nějaký | *Povinný přepínač s filtrováním - nějaký | ||
| + | |||
| + | |||
| + | |||
| + | == Podpůrné nástroje == | ||
| + | Get-FileHash ''soubor'' [-Algorithm MD5 | SHA256 | ...] | ||
| + | * Generuje otisk zadané [[Hashovací funkce| hashovací funkce]] (výchozí hashovací funkce je SHA256). | ||
| + | |||
| + | Invoke-WebRequest ''url'' | ||
| + | * Stažení obsahu webové stránky. | ||
| + | * Alias: <code>iwr</code> | ||
| + | * Obdoba linuxovách příkazů <code>wget</code> a <code>curl</code>. | ||
| + | <div class="Priklad"> | ||
| + | Invoke-WebRequest www.oauh.cz -UseBasicParsing | ||
| + | </div> | ||
| Řádka 57: | Řádka 124: | ||
Out-File -Path path... | Out-File -Path path... | ||
| − | + | == Práce s XML == | |
$x = [xml](cat file.xml) | $x = [xml](cat file.xml) | ||
| − | *Chová se jako objekt s dílčími podobjekty. | + | * Chová se jako objekt s dílčími podobjekty. |
| − | *$x.Element.Subelement[0]. ... | + | * $x.Element.Subelement[0]. ... |
== Společné přepínače == | == Společné přepínače == | ||
| − | + | -WhatIf | |
| − | + | * Vypíše, co by se dělalo, ale neudělá to | |
| − | + | * U destruktivních cmdletů by se mělo použít nejdřív | |
| − | + | -Confirm | |
| − | + | *Zeptá se na každou jednotlivou akci (například když mažeme více souborů naráz). | |
| − | + | *Potvrzuje se po jednom. | |
| − | + | -Verbose | |
| − | + | *Co nejvíc vysvětlujících komentářů | |
| − | == | + | == Práce s aliasy == |
| − | + | * Práce s aliasy viz [[Powershell: Základy]]. | |
| − | * | + | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== Související stránky == | == Související stránky == | ||
| + | * [[Powershell: Základy]] | ||
* [[Powershell: Nápověda]] | * [[Powershell: Nápověda]] | ||
* [[Powershell: Pipelining]]... Filtry, zpracování v pipeline | * [[Powershell: Pipelining]]... Filtry, zpracování v pipeline | ||
| − | |||
== Zdroje == | == Zdroje == | ||
* [https://mva.microsoft.com/en-US/training-courses/getting-started-with-microsoft-powershell-8276 Microsoft Virtual Academy: Getting Started with PowerShell] | * [https://mva.microsoft.com/en-US/training-courses/getting-started-with-microsoft-powershell-8276 Microsoft Virtual Academy: Getting Started with PowerShell] | ||
| − | *[https://channel9.msdn.com//Series/advpowershell3/08/ Advanced Tools & Scripting with PowerShell] | + | * [https://channel9.msdn.com//Series/advpowershell3/08/ Advanced Tools & Scripting with PowerShell] |
| − | *[http://www.powershell.org Powershell.org] | + | * [http://www.powershell.org Powershell.org] |
| + | * Příklady použití: [https://learn.microsoft.com/en-us/powershell/scripting/samples/sample-scripts-for-administration?view=powershell-7.3 Learn.Microsft.com > Sample scripts] | ||
Aktuální verze z 12. 3. 2025, 09:06
Obsah |
Práce se soubory
Set-Location
- Aliasy:
cd
Get-ChildItem
- Aliasy:
gci,ls,dir
New-Item -ItemType Directory/File název
- Aliasy:
ni,mkdir - Vytvoření adresáře/souboru.
Copy/Remove-Item název
- Aliasy kopírování:
cp,cpi,copy - Aliasy mazání:
rm
Další commandlety pro práci se soubory a adresáři: Docs.Microsoft.com → Working with Files and Folders
Zpracování objektů
Compare-Object
Uživatelské účty a skupiny
- Vytvoření účtu
Vytvoření účtu (systém se zeptá na heslo):
New-LocalUser -Name username -FullName "Jméno pro zobrazení na přihlašovací obrazovce"
Vytvoření účtu s nastavením hesla:
$Pass = Read-Host "Zadej heslo účtu username" -AsSecureString New-LocalUser -Name username -FullName "Jméno pro zobrazení na přihlašovací obrazovce" -Password $Pass
Vytvoření účtu bez hesla:
New-LocalUser -Name username -FullName "Jméno pro zobrazení na přihlašovací obrazovce" -NoPassword
- Práce se skupinami
Zařazení uživatelského účtu do skupiny:
Add-LocalGroupMember -Group "Skupina" -Member "username"
Zjištění členů skupiny:
Get-LocalGroupMember -Group "Skupina"
Při vytvoření účtu je vhodné uživatele zařadit do některé z těchto dvou skupin:
-
Users... běžný uživatel, který se může přihlásit (bez zařazení do této skupiny se nemůže přihlásit) -
Administrators... bude to účet správce
- Nastavení účtu
Změna hesla:
$Pass = Read-Host "Zadej nové heslo účtu username" -AsSecureString Set-LocalUser username -Password $Pass
Odstranění hesla (nastavení prázdného hesla) — nedoporučujeme:
Set-LocalUser -name username -Password ([securestring]::new())
Změna jména:
Set-LocalUser username -FullName "Nové jméno"
Zablokování/odblokování účtu:
Enable-LocalUser username Disable-LocalUser username
Správa počítače
- Informace o počítači
$env:computername
- Proměnná obsahuje název počítače.
- Součásti Windows
- Povolení/zákaz Hyper-V
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
-
Get_WmiObject— informace o hardware a OS
- Může provádět jen správce (spusťte PowerShell jako správce):
Get-WmiObject -Class Win32_Bios
- Informace o počítači
Get-WmiObject -Class Win32_Product
- Informace o nainstalovaných aplikacích.
Get-WmiObject -Class Win32_OperatingSystem
- Informace o operačním systému.
Get-WmiObject -Class Win32_OperatingSystem | Select Caption, Version
- Vypíše edici a verzi systému.
- Kontrola a oprava chyb
sfc /scannow DISM /Online /Cleanup-Image /CheckHealth Dism /Online /Cleanup-Image /RestoreHealth
Active Directory
Get-ADComputer
- Povinný přepínač s filtrováním - nějaký
Podpůrné nástroje
Get-FileHash soubor [-Algorithm MD5 | SHA256 | ...]
- Generuje otisk zadané hashovací funkce (výchozí hashovací funkce je SHA256).
Invoke-WebRequest url
- Stažení obsahu webové stránky.
- Alias:
iwr - Obdoba linuxovách příkazů
wgetacurl.
Invoke-WebRequest www.oauh.cz -UseBasicParsing
Práce s textem
ConvertTo-Csv | -Xml | -Html
- Převede na text, ale nemusíme to nutně zapisovat do souboru — můžeme dále zpracovávat.
-
-Property... Jen vybrané vlastnosti objektů.
Get-Service | ConvertTo-Html -Property name, status
- Výstup do souboru
- Rovnou zapíše do souboru, nemůžeme dále zpracovávat.
Import- | Export-Csv
-
-Path C:\...
Import- | Export-CliXml
-
-Path c:\...
Out-File -Path path...
Práce s XML
$x = [xml](cat file.xml)
- Chová se jako objekt s dílčími podobjekty.
- $x.Element.Subelement[0]. ...
Společné přepínače
-WhatIf
- Vypíše, co by se dělalo, ale neudělá to
- U destruktivních cmdletů by se mělo použít nejdřív
-Confirm
- Zeptá se na každou jednotlivou akci (například když mažeme více souborů naráz).
- Potvrzuje se po jednom.
-Verbose
- Co nejvíc vysvětlujících komentářů
Práce s aliasy
- Práce s aliasy viz Powershell: Základy.
Související stránky
- Powershell: Základy
- Powershell: Nápověda
- Powershell: Pipelining... Filtry, zpracování v pipeline
Zdroje
- Microsoft Virtual Academy: Getting Started with PowerShell
- Advanced Tools & Scripting with PowerShell
- Powershell.org
- Příklady použití: Learn.Microsft.com > Sample scripts