Powershell: Cmdlets

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Vytvoření stránky.)
 
(Přidány příklady použití ze stránek Microsoftu.)
 
(Není zobrazeno 15 mezilehlých verzí od 1 uživatele.)
Řádka 1: Řádka 1:
 
[[Category:VSE]][[Category:Informatika]][[Category:OSY]][[Category:Windows]][[Category:Powershell]][[Category:Příkazový řádek]]
 
[[Category:VSE]][[Category:Informatika]][[Category:OSY]][[Category:Windows]][[Category:Powershell]][[Category:Příkazový řádek]]
  
== Commandlety ==
+
== Práce se soubory ==
 
+
===Práce se soubory ===
+
 
  Set-Location
 
  Set-Location
 
*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 ''název''
 +
* Aliasy: <code>ni</code>, <code>mkdir</code>
 +
* Vytvoření adresáře/souboru.
 +
Copy/Remove-Item ''název''
 +
* Aliasy kopírování: <code>cp</code>, <code>cpi</code>, <code>copy</code>
 +
* Aliasy mazání: <code>rm</code>
  
=== Zpracování objektů ===
+
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 &rarr; Working with Files and Folders]
 +
 
 +
 
 +
 
 +
== Zpracování objektů ==
 
  Compare-Object
 
  Compare-Object
  
=== Správa počítače ===
+
 
* New-LocalUser
+
== Uživatelské účty a skupiny ==
  New-LocalUser -Name username -Password xxxx
+
 
 +
; 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&nbsp;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''"
 +
 
 +
<div class="Poznamka">
 +
Při vytvoření účtu je vhodné uživatele zařadit do některé z&nbsp;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
 +
Set-LocalUser ''username'' -Password $Pass
 +
Odstranění hesla (nastavení prázdného hesla) &mdash; '''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
 
* 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
  
; Informace o počítači
 
Get_WmiObjects
 
* Get_WmiObjects -class win32_bios
 
  
=== Active Directory ===
+
; <code>Get_WmiObject</code> &mdash; 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&nbsp;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&nbsp;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 &rarr; 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ý
  
=== Práce s textem ===
+
 
 +
 
 +
== 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&nbsp;<code>curl</code>.
 +
<div class="Priklad">
 +
Invoke-WebRequest www.oauh.cz -UseBasicParsing
 +
</div>
 +
 
 +
 
 +
== Práce s textem ==
 
  ConvertTo-Csv | -Xml | -Html
 
  ConvertTo-Csv | -Xml | -Html
 
*Převede na text, ale nemusíme to nutně zapisovat do souboru &mdash; můžeme dále zpracovávat.
 
*Převede na text, ale nemusíme to nutně zapisovat do souboru &mdash; můžeme dále zpracovávat.
Řádka 40: Řádka 121:
 
  Out-File -Path path...
 
  Out-File -Path path...
  
=== Práce s XML ===
+
== 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
+
-WhatIf
**Vypíše, co by se dělalo, ale neudělá to
+
* Vypíše, co by se dělalo, ale neudělá to
**U destruktivních cmdletů by se mělo použít nejdřív
+
* U&nbsp;destruktivních cmdletů by se mělo použít nejdřív
*-Confirm
+
-Confirm
**Zeptá se na každou jednotlivou akci.
+
*Zeptá se na každou jednotlivou akci (například když mažeme více souborů naráz).
**Potvrzuje se po jednom.
+
*Potvrzuje se po jednom.
*-Verbose
+
-Verbose
**Co nejvíc vysvětlujících komentářů
+
*Co nejvíc vysvětlujících komentářů
  
  
== Aliasy ==
+
== Práce s&nbsp;aliasy ==
Get-Alias
+
* Práce s&nbsp;aliasy viz [[Powershell: Základy]].
**Aliasy: gal
+
* Get-Alias -Name ''Zástupný_příkaz''
+
Get-Alias -name dir
+
* Get-Alias -Definition Zastoupený-příkaz
+
GetAlias -Definition Get-ChildItem
+
 
+
; Příklad:
+
*dir &rarr; Get-ChildItem
+
*ls &rarr; Get-ChildItem
+
  
  
 
== 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
Get-ChildItem
New-Item -ItemType Directory/File název
Copy/Remove-Item název

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
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All


Get_WmiObject — informace o počítači
 Get-WmiObject -Class Win32_Bios
 Get-WmiObject -Class Win32_Product
 Get-WmiObject -Class Win32_OperatingSystem
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


Podpůrné nástroje

Get-FileHash soubor [-Algorithm MD5 | SHA256 | ...]
Invoke-WebRequest url
Invoke-WebRequest www.oauh.cz -UseBasicParsing


Práce s textem

ConvertTo-Csv | -Xml | -Html
Get-Service | ConvertTo-Html -Property name, status
Import- | Export-Csv
Import- | Export-CliXml
Out-File -Path path...

Práce s XML

$x = [xml](cat file.xml)


Společné přepínače

-WhatIf
-Confirm
-Verbose


Práce s aliasy


Související stránky


Zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje