Powershell: Cmdlets
Z MiS
(Rozdíly mezi verzemi)
m (Přidáno generování hashovacích funkcí.) |
(Přidány příklady použití ze stránek Microsoftu.) |
||
(Není zobrazeno 8 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: | ||
Řádka 19: | Řá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 == | |
; Součásti Windows | ; Součásti Windows | ||
Řádka 53: | Řádka 80: | ||
</div> | </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ý | ||
Řádka 63: | Řádka 99: | ||
* Generuje otisk zadané [[Hashovací funkce| hashovací funkce]] (výchozí hashovací funkce je 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 78: | Řádka 121: | ||
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]. ... |
− | + | ||
− | + | ||
Řádka 97: | Řádka 138: | ||
− | + | == 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 9. 1. 2023, 14:31
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
- 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 počítači
- 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ů
wget
acurl
.
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