PowerShell je oveľa komplikovanejší než tradičný príkazový riadok, ale je oveľa výkonnejší. Príkazový riadok je dramaticky horší než shelly dostupné pre Linux a iné systémy podobné Unixu, ale PowerShell súťaží priaznivo. Navyše, väčšina príkazov príkazového riadku je použiteľná v systéme PowerShell, či už natívne alebo prostredníctvom aliasov.
Ako PowerShell sa odlišuje od príkazového riadku
PowerShell sa v skutočnosti veľmi líši od príkazového riadka. Používa rôzne príkazy, známe ako cmdlety v PowerShell. Mnohé úlohy správy systému - od správy databázy Registry po WMI (Windows Management Instrumentation) - sú odkryté pomocou programov PowerShell, zatiaľ čo z príkazového riadku nie sú dostupné.
PowerShell využíva rúry - rovnako ako Linux -, ktoré umožňujú preniesť výstup jedného cmdletu na vstup iného cmdletu. Preto môžete použiť viacero cmdletov na spracovanie rovnakých údajov. Na rozdiel od systémov podobných systému Unix, ktoré môžu iba potrubím prúdy medzi znakmi (text) -PowerShell potrubia objekty medzi rutinami. A skoro všetko v PowerShell je objekt, vrátane každej reakcie, ktorú získate z cmdlet. To umožňuje PowerShellovi zdieľať zložitejšie dáta medzi rutinami, ktoré fungujú skôr ako programovací jazyk.
PowerShell nie je len shell. Je to výkonné skriptovacie prostredie, ktoré môžete použiť na vytváranie komplexných skriptov na správu systémov Windows oveľa jednoduchšie, ako by ste mohli s príkazovým riadkom.
Príkazový riadok je v podstate iba staré prostredie prenášané v systéme Windows - prostredie, ktoré kopíruje všetky príkazy DOS, ktoré by ste našli v systéme DOS. Je bolestivo obmedzený, nemôže získať prístup k mnohým funkciám správy systému Windows, je ťažšie zostaviť komplexné skripty a podobne. PowerShell je nové prostredie pre systémových administrátorov systému Windows, ktoré im umožňuje používať modernejšie prostredie príkazového riadka na správu systému Windows.
Keď budete chcieť používať PowerShell
Takže, kedy chce priemerný používateľ systému Windows používať PowerShell?
Ak len zriedka spustíte príkazový riadok, aby ste príležitostne spustili
ping
alebo
ipconfig
príkaz, naozaj sa nemusíte dotýkať PowerShell. Ak máte väčšie pohodlie s príkazovým riadkom, nikam to nebude. To znamená, že väčšina týchto príkazov funguje aj v PowerShell, ak si to chcete vyskúšať.
PowerShell však môže byť oveľa výkonnejším prostredím príkazového riadku než príkazový riadok. Napríklad sme vám ukázali, ako používať prostredie PowerShell zabudované v systéme Windows, aby ste mohli vykonať operáciu vyhľadávania a nahradenia, aby sa dávkovo premenovali viacero súborov v priečinku - čo by za normálnych okolností vyžadovalo inštaláciu programu tretej strany. Toto je vec, ktorú používatelia Linuxu vždy dokázali urobiť v prostredí príkazového riadku, zatiaľ čo používatelia systému Windows boli vynechaní.
Správcovia systému sa budú chcieť učiť PowerShell, aby mohli efektívnejšie spravovať svoje systémy. A ak budete niekedy musieť napísať skript na automatizáciu rôznych úloh správy systému, mali by ste to urobiť s PowerShell.
PowerShell Ekvivalenty bežných príkazov
Veľa bežných príkazov Command Prompt - od
ipconfig
na cd
-Work v prostredí PowerShell. Je to preto, lebo PowerShell obsahuje "aliasy", ktoré uvádzajú tieto staré príkazy na príslušné nové rutiny a spúšťajú nové rutiny pri zadávaní starých príkazov.
Prejdeme niekoľko bežných príkazov Command Prompt a ich ekvivalentov v programe PowerShell - len aby sme vám predstavili, ako je syntax PowerShellu odlišný.
Zmena adresára
-
DOS:
cd
-
PowerShell:
Set-Location
Zoznam súborov v adresári
-
DOS:
dir
-
PowerShell:
Get-ChildItem
Premenujte súbor
-
DOS:
rename
-
PowerShell:
Rename-Item
Ak chcete zistiť, či má príkaz DOS alias, môžete použiť
Get-Alias
rutiny. Zadajte napríklad text
Get-Alias cd
ukáže vám to
cd
je v skutočnosti beží
Set-Location
rutiny.