A Windows parancsok futtatásakor a PowerShell kissé ász lett a lyukban. Évekig a rajongók a Windows parancssori lehetőségeire korlátozódtak, de 2006-ban a PowerShell hatékony alternatívaként jelent meg.
Mi a PowerShell??
A PowerShell egy interaktív Parancssori felület (CLI) és az automatizálási motor, amelyet a Microsoft fejlesztett ki a rendszerkonfigurációk tervezésére és az adminisztrációs feladatok automatizálására. Ez az eszköz rendelkezik saját parancssorral, a Perlhez hasonló egyedi programozási nyelvvel. A PowerShell-et eredetileg a felhasználók számítógépein lévő objektumok kezelésére fejlesztették ki.
A PowerShell ma kiterjedt környezetet kínál a felhasználók számára, ahol végrehajthatják és automatizálhatják a rendszerkezelési feladatokat. A felhasználó egy programon keresztül férhet hozzá az Active Directory és az Exchange Server közötti erőforrásokhoz. A PowerShell lényege lehetővé teszi a felhasználó számára a következők elérését:
- Parancssor
- PowerShell parancsok
- .NET Framework API
- Windows Management Instrumentation
- Windows összetevő objektummodell
Mivel a PowerShell nyílt forrású alkalmazásgé vált, a Linux és az Unix-alapú felhasználók mostantól hozzáférhetnek ehhez a sokoldalú platformhoz. A PowerShell-et elsősorban arra használják, hogy segítse a felhasználókat az adminisztrációs feladatok automatizálásában. A fárasztó és ismétlődő feladatok végrehajtása helyett a felhasználó egyszerűen szkripteket hozhat létre és parancsokat adhat ki, és a PowerShell automatikusan kitölti azokat. A felhasználó testreszabhatja több száz parancsot, az úgynevezett parancsmagjai.
PowerShell parancsok
Íme 25 alapvető PowerShell-parancs:
Set-Location | CD, chdir, sl | Beállítja az aktuális munkahelyet egy megadott helyre. |
Get-Content | macska, gc, típus | Beolvassa az elem tartalmát a megadott helyen. |
Add-Content | ac | Hozzáad tartalmat a megadott elemekhez, például szavak hozzáadása egy fájlhoz. |
Set-tartalom | sc | Az elem tartalmát írja vagy helyettesíti új tartalommal. |
Copy-tétel | másolat, cp, cpi | Elem másolása egyik helyről a másikra. |
Elem eltávolítása | del, törlés, rd, ri, rm, rmdir | Törli a megadott elemeket. |
Move-tétel | mi, mozog, mv | Elemet mozgat az egyik helyről a másikra. |
Set-tétel | si | Egy elem értékét a parancsban megadott értékre változtatja. |
Új elem | ni | Új elemet hoz létre. |
Start-Job | sajb | Elindítja a Windows PowerShell háttérmunkát. |
Összehasonlítás-Object | összehasonlítani, dif | Két objektumkészlet összehasonlítása. |
Csoport-Object | csoport | Olyan objektumokat csoportosít, amelyek a megadott tulajdonságokhoz ugyanazt az értéket tartalmazzák. |
Invoke-WebRequest | göndör, iwr, wget | Beolvassa a tartalmat az internetes weblapokról. |
Measure-Object | intézkedés | Kiszámítja az objektumok numerikus tulajdonságait, a karaktereket, a szavakat és a sorokat karakterláncobjektumokban, például fájlokban … |
Resolve-Path | rvpa | Megoldja az útvonal helyettesítő karaktereit, és megjeleníti az elérési út tartalmát. |
Folytatás-Job | rujb | Felfüggesztett munka újraindítása |
Set-Variable | készlet, sv | Beállítja a változó értékét. Létrehozza a változót, ha a kért névvel nem létezik. |
Show-Command | sh | A Windows PowerShell parancsokat hoz létre egy grafikus parancsablakban. |
Sort-Object | fajta | Az objektumokat rendezi tulajdonságértékek szerint. |
Start-Service | sasv | Egy vagy több leállított szolgáltatást indít. |
Start-Process | Saps, kezdje | Elindít egy vagy több folyamatot a helyi számítógépen. |
Suspend-Job | sujb | Ideiglenesen leállítja a munkafolyamat-feladatokat. |
Wait-Job | wjb | Letiltja a parancssort, amíg a munkamenetben futó Windows PowerShell háttér jobok egyike vagy az összes… |
Hol-Object | ?, hol | Objektumokat választ ki a gyűjteményből a tulajdonságértékek alapján. |
Write-Output | visszhang, írj | Elküldi a megadott objektumokat a folyamatban lévő következő parancsnak. Ha a parancs az utolsó parancs a folyamatban,… |
Itt található a PowerShell Cheat Sheet PDF-verziója. Kattintson az alábbi képre, hogy megnyissa a PDF-t egy külön böngésző lapon, amelyet menthet és gyors referenciaként használhat.
PowerShell-csaló lap (PDF)
A PowerShell használata
A PowerShell ideális vállalati adminisztrátorok számára, akik nagy vállalati hálózatokon keresztül bonyolult kezelési műveleteket végeznek. Ahelyett, hogy több száz különböző szerverre és szolgáltatásra vonatkozó információkat kézzel gyűjtne (ami sokáig tartana), egyszerűen futtathat egy szkriptet a PowerShell-en, hogy automatikusan visszatérjen információkat az Ön számára.
Általánosságban elmondható, hogy a PowerShell a leghasznosabb azoknak a felhasználóknak, akik korábbi tapasztalattal rendelkeznek a parancssorokkal. A PowerShell használatához különféle parancsmagok, szkriptek, futtatható fájlok és .NET osztályok futtathatók. E cikk alkalmazásában elsősorban a parancsmagokra és a szkriptekre összpontosítunk, amelyek segítenek megismerni az alapokat.
Udemy számos magas rangú tanfolyamot szervez a PowerShell-en, amelyek hasznosnak bizonyulhatnak.
PowerShell vs parancssor
Sok felhasználó számára a PowerShell jobb alternatívája a parancssornak. Ennek oka az, hogy egyszerűen több lóerővel rendelkezik. Az egyik legnagyobb különbség az, hogy a PowerShell parancsmagokat használ, nem pedig parancsokat. A Cmdlets a regisztrációs kezelést és a Windows Management Instrumentációt a felhasználók adminisztratív elérhetőségére helyezi el. Ezzel szemben a Command Prompt sokkal egyszerűbb parancsokra korlátozódik.
Van némi keresztezés a két platform között a szintaxisban, mivel a PowerShell elfogad egy parancssori parancsot, például az ipconfigtocd. Ezeket azonban aliasnak nevezik, nem parancsmagoknak. Egy másik lényeges különbség az, hogy a PowerShell objektumokra koncentrál. A parancsmagból kiadott minden adat egy objektum, nem pedig a szöveg. Ez megkönnyíti a felhasználó számára a komplex adatok körüli navigációt. A .NET-keretrendszer beépítése azt is lehetővé teszi, hogy a PowerShell-parancsfájlok használják .NET-interfészeket. Röviden: a PowerShell a Command Prompt a szteroidokon.
A PowerShell betöltése
Mielőtt átgondolnánk a PowerShell használatának alapjait, először meg kell férnie a fő interfészre. Ha Ön Windows 10 felhasználó, akkor már hozzáférhet a PowerShell 5-hez. A Windows 8-8.1 felhasználók hozzáférhetnek a PowerShell 4-hez, de ha a Windows 7 operációs rendszert használja, telepítenie kell azt egy .NET-en belül. keretrendszer. Az összes operációs rendszerben a PowerShell két különálló felületet kínál.
A fejlettebb az Integrated Scripting Environment, amely átfogó felhasználói felületként működik a tapasztalt felhasználók számára. Alapvető alternatíva a PowerShell konzol, amely parancssort biztosít a felhasználó számára a parancsok beviteléhez. A kezdőknek azt tanácsolják, hogy tartsák magukat az utóbbival, amíg meg nem ismerik a PowerShell alapjait.
A PowerShell elindításához Windows 10 rendszeren rendszergazdának kell lennie. Jelentkezzen be rendszergazdaként, kattintson a gombra Rajt, és görgessen az alkalmazásai között, amíg meg nem találja Windows PowerShell. Kattintson a jobb gombbal, és válassza a lehetőséget Futtatás rendszergazdaként. Windows 8.1 rendszeren egyszerűen keresse meg a PowerShell fájlt Rendszer mappába. Hasonlóképpen, Windows 7 esetén a PowerShell alapértelmezett könyvtára a kiegészítők mappát, miután telepítette a programot.
Hogyan kell futtatni a parancsmagok
Dióhéjban a parancsmag egyfunkciós parancs. A parancsmagokat a parancssorba írja be, ugyanúgy, mint a hagyományos parancsok vagy segédprogramok esetén. A CLI-vel való interakció fő módja a parancsmagok. A PowerShellben a legtöbb parancsmag C # -ben van írva, és olyan utasításokat tartalmaz, amelyek egy .NET objektumot visszaküldő függvény végrehajtására szolgálnak..
Több mint 200 cm-es csomópont használható a PowerShell-ben. A Windows PowerShell parancssor nem érzékeli a kis- és nagybetűket, így ezeket a parancsokat be lehet írni nagybetűkkel vagy kisbetűkkel. A fő parancsmagok az alábbiakban vannak felsorolva:
- Get-Location – Az aktuális könyvtár beolvasása
- Set-Location – Az aktuális könyvtár beolvasása
- Move-tétel – Helyezze át a fájlt egy új helyre
- Copy-tétel – Másolja a fájlt egy új helyre
- átnevezés – elem Meglévő fájl átnevezése
- Új elem – Hozzon létre egy új fájlt
Az elérhető parancsok teljes listájához használja a Get-Command parancsmagot. A parancssorba a következőt írja be:
PS C: \> Get-Command
Fontos megjegyezni, hogy a Microsoft korlátozza a felhasználókat az egyéni PowerShell-parancsmagok alapértelmezett beállításokban történő használatáért. A PowerShell-parancsmagok használatához meg kell változtatnia a ExecutionPolicy tól től Korlátozott nak nek RemoteSigned. Távirányító aláírva lehetővé teszi a saját szkriptek futtatását, de megállítja a többi felhasználó alá nem írt szkripteit.
A végrehajtási házirend megváltoztatásához írja be a következő PowerShell parancsot:
PS C: \> Set-ExecutionPolicy
Váltás RemoteSigned, gépelje be a következő parancsot:
PS C: \> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Győződjön meg róla, hogy rendszergazdai fiókkal rendelkezik, hogy jogosult legyen új végrehajtási házirend beállítására.
A szkriptek futtatása
A szkript alapú folyamatok és parancsok képezik a PowerShell sokoldalúságának alapját. A PowerShellben a szkript lényegében egy szöveges fájl, amelynek fájlnévében ps1 kiterjesztés található. Új szkript létrehozásához egyszerűen nyissa meg a Windows Jegyzettömböt, írja be a parancsokat, és a név végére mentse a ‘.ps1’ parancsot..
A szkript futtatásához írja be annak mappáját és fájlnevét a PowerShell ablakba:
PS c: \ powershell \ mynewscript.ps1
Miután ezt megtette, a kiválasztott szkript futni fog.
Saját PowerShell-parancsfájlok létrehozása? Majdnem 5 ezer hallgató vett részt az Advanced Scriptingről szóló Udemy tanfolyamon a PowerShell segítségével.
Átfedés a Windows parancsokkal
Ha még nem ismeri a PowerShell szoftvert, akkor lelkesedése lehet, hogy megpróbálja megtanulni egy teljesen új parancskönyvtárat. A legtöbb új felhasználó azonban nem veszi észre, hogy a Windows parancssorban használt szintaxis átfedésben van a PowerShell-rel. Ezt megkönnyíti az a tény, hogy a PowerShell nem nagybetűs.
Akárcsak a Command Prompt esetében, a PowerShellnél a cd parancs továbbra is megváltoztatja a könyvtárakat, és a dir továbbra is a kiválasztott mappában található fájlok listáját tartalmazza. Mint ilyen, fontos megjegyezni, hogy nem feltétlenül a semmiből indul. Ennek beépítése segít csökkenteni a tanulási görbét, amikor szembe kell néznie a PowerShell használatakor, és csökkenti az új parancsok számát, amelyeket meg kell tanulnia..
Fontos megjegyezni, hogy ezek nem tekinthetők teljes PowerShell-parancsoknak, hanem álnévnek (a Powershell neve a Windows parancssori parancsoknak). Tehát annak ellenére, hogy kipróbálhatja a Command Prompt néhány parancsát a PowerShell-ben, mindent meg kell tanulnia az újakról. Ennek ellenére a Command Prompt tapasztalata határozottan segíthet az új felhasználóknak abban, hogy megismerjék a PowerShell szoftvert, és futásba kerüljenek.
SQL adatbázis biztonsági mentése
Sokan használják a PowerShell szolgáltatást az SQL adatbázisok biztonsági mentéséhez. A parancssori felület teljes adatbázis-biztonsági mentéseket, fájl-biztonsági mentéseket és tranzakciós napló-biztonsági másolatokat készíthet. Az adatbázis biztonsági mentéséhez a PowerShell-ben számos módszer létezik, de az egyik legegyszerűbb a Backup-SqlDatabase parancs használata. Például:
PS C: \> Biztonsági mentés-SqlDatabase -ServerINstance “Computer \ Példány” -Adatbázis “Databasecentral”
Ez létrehoz egy adatbázis-biztonsági mentést egy adatbázisból, amelynek neve „Databasecentral” (vagy a választott adatbázis neve)..
A tranzakciós napló biztonsági másolatához be kell írnia:
PS C: \> Biztonsági mentés-SqlDatabase -ServerInstance “Computer \ Példány” -Adatbázis “Databasecentral” -BackupAction Log
Ez létrehozza a kiválasztott adatbázis tranzakciós naplóját.
Alapvető PowerShell-parancsok
Az álnevek használata eddig csak a PowerShell szolgáltatáshoz vezet, ezért fontos elkötelezni magát, hogy mindent megtanuljon a PowerShell natív parancsairól. A fentiek közül néhányat megérintettünk, de az alábbiakban sokkal részletesebben fogjuk lebontani a főbbokat.
Kaphat segítséget
Ennek a parancsnak minden új felhasználó listájának tetején kell lennie, amikor a PowerShellről van szó. A Get-Help paranccsal szó szerint bármilyen más PowerShell-parancshoz segítséget lehet kapni. Például, ha ismeri a parancs nevét, de nem tudja, mit csinál, vagy hogyan kell használni, a Get-Help parancs biztosítja a teljes parancs szintaxist.
Például, ha szeretné megtudni, hogyan működik a Get-Process, írja be:
PS C: \> Get-Help -Név Get-ProcessPS C: \> Set-ExecutionPolicy
Amint a jelen útmutatóban korábban kifejtettük, a Microsoft korlátozott végrehajtási politikával rendelkezik, amely megakadályozza a szkriptek készítését a PowerShell-en, hacsak nem változtatja meg azokat. A végrehajtási házirend beállításakor négy lehetőség közül választhat:
- Korlátozott – Az alapértelmezett végrehajtási házirend, amely megakadályozza a szkriptek futtatását.
- Minden aláírt – Futtatja a szkripteket, ha azokat megbízható kiadó írta alá
- Távirányító aláírva – Lehetővé teszi a helyben létrehozott szkriptek futtatását
- Korlátlan – Szabályzat, amely nem korlátozza a szkriptek futtatását
PS C: \> Get-ExecutionPolicy
Ha PowerShell-et használ, akkor nem mindig működik olyan kiszolgálón, amelyet ismer. A parancs futtatása Get-Execution Policy lehetővé teszi, hogy az új szkript futtatása előtt láthassa, mely házirend aktív a kiszolgálón. Ha ezután a kérdéses kiszolgálót korlátozott házirend szerint működteti, akkor a Set-ExecutionPolicy parancs megváltoztatni.
Get-Service
Az egyik legfontosabb parancs a Get-Service, amely a felhasználó számára a rendszerre telepített összes szolgáltatást tartalmazza, mind futtatott, mind leállított szolgáltatásokkal. Ez a parancsmag irányítható meghatározott szolgáltatásnevek vagy objektumok használatával.
Például, ha beírná a PS C: \> Get-Service, akkor megjelenik a számítógépen található összes szolgáltatás, azok állapota és a megjelenített nevek listája.
Ha ezt a parancsot használja bizonyos szolgáltatások beolvasásához, írja be: PS C: \ Get-Service “WMI *” az összes szolgáltatás letöltéséhez, amely a WMI-vel kezdődik.
Ha a kimenetet a számítógépen lévő aktív szolgáltatásokra szeretné korlátozni, írja be a következő parancsot:
PS C: \ Get-Service | Hol-Objektum {$ _. Állapot -eq „Futó”}
ConvertTo HTML
A PowerShell használatakor előfordulhat, hogy jelentést készít a látott információkról. Ennek egyik legjobb módja a ConvertTo HTML parancs. Ez a parancsmag lehetővé teszi, hogy táblázatokkal és színekkel készítsen jelentéseket, amelyek elősegíthetik az összetett adatok megjelenítését. Egyszerűen válassza ki az objektumot, és adja hozzá a parancshoz. Írhat be például:
Get-PSDrive | ConvertTo-Html
Ez rengeteg információt ad vissza, ezért érdemes korlátozni azt a Kimeneti fájl paranccsal rendelkező fájlra. Egy jobb alternatív parancs a következő:
Get-PSD meghajtó | ConvertTo-Html | Out-File -FilePath PSDrives.html
Ezután HTML formátumú táblázatot hoz létre. Például:
Ezután hozzáadhatja saját színeit és szegélyeit, hogy finomítsa a bemutatását.
Exportálás CSV (és Get-Service)
A láthatóság növelése érdekében nem kevésbé fontos az Export-CSV parancs. Ez lehetővé teszi a PowerShell-adatok CSV-fájlba történő exportálását. Alapvetően ez a parancs egy CSV-fájlt hoz létre, amely összeállítja a PowerShellben kiválasztott összes objektumot. Minden objektumnak megvan a saját sora vagy sor a CSV fájlban. Ez a parancs elsősorban táblázatok létrehozására és adatok megosztására szolgál a külső programokkal.
A parancs használatához írja be:
PS C: \> Get-Service | Export-CSV c: \ service.csv
Fontos emlékezni, hogy az Export-CSV parancs futtatása előtt ne formázza az objektumokat. Ennek oka az, hogy az objektumok formázása eredményeként csak a formázott tulajdonságokat helyezik a CSV-fájlba, nem pedig az eredeti objektumokat. Abban az esetben, ha egy objektum meghatározott tulajdonságait el szeretné küldeni egy CSV-fájlhoz, akkor a Select-Object parancsmaggal.
A Select-Object parancsmag, típus:
PS C: \> Get-Service | Select-Object Name, Status | Exportálás CSV c: \ Service.csv
Get-Process
Ha meg szeretné tekinteni a rendszeren jelenleg futó összes folyamatot, akkor a Get-Process a parancs nagyon fontos. A számítógépen lévő összes aktív folyamat listájának megtekintéséhez írja be:
PS C: \ Get-Process
Vegye figyelembe, hogy ha nem ad meg paramétereket, a számítógép minden aktív folyamata lebontásra kerül. Egy adott folyamat kiválasztásához szűkítse le az eredményeket a folyamat neve vagy a folyamat azonosítója alapján, és kombinálja azt a Format-List parancsmag, amely megjeleníti az összes elérhető tulajdonságot. Például:
PS C: \ Get-Process ablak, felfedező | Formátumlista *
Ez biztosítja az összes aktív folyamat átfogó felügyeletét.
Get-EventLog
Ha valaha is szeretne hozzáférni a számítógép eseménynaplójához (vagy a távoli számítógépeken található naplókhoz) a PowerShell használata közben, akkor szüksége lesz a Get-EventLog parancs. Ez a parancsmag csak a klasszikus eseménynaplókon működik, így szüksége lesz a Get-WinEvent parancs a Windows Vista későbbi naplókhoz.
Az eseménynapló parancs futtatásához írja be:
PS C: \> Get-EventLog -List
Ez megmutatja az összes eseménynaplót a számítógépen.
Az egyik leggyakoribb ok, hogy a felhasználók az eseménynaplókat megtekintsék, hogy hibákat látjanak. Ha hibaüzeneteket szeretne látni a naplóban, egyszerűen írja be:
PS C: \> Get-EventLog -LogName System -EntryType hiba
Ha több számítógépről szeretne eseménynaplókat kapni, akkor adja meg, mely eszközöket szeretné megtekinteni (az alábbiakban felsoroljuk: „Server1” és „Server2”). Például:
PS C: \> Get-EventLog – Naplónév “Windows PowerShell” – Számítógépnév “helyi számítógép”, “Szerver1”, “Szerver2”.
Az eseménynaplók kereséséhez felhasználható paraméterek a következők:
- Utána – A felhasználó megadja a dátumot és az időt, és a parancsmag megtalálja az utána bekövetkezett eseményeket
- AsBaseObject – Minden eseményhez System.Diagnostics.EventLogEntry programot biztosít
- AsString – Karakterláncként adja vissza a kimenetet
- Előtt – A felhasználó megadja a dátumot és az időt, és a parancsmag megtalálja a korábban bekövetkezett eseményeket
- Számítógép név – távoli számítógépre utal
- EntryType – Megadja az események bejegyzés típusát (Hiba, Hibaellenőrzés, Siker-ellenőrzés, Információ, Figyelem)
- Index – Megadja az index értékeket, amelyekből a parancsmag megtalálja az eseményeket
- Lista – Az eseménynaplók listáját nyújtja
- Felhasználónév – Megadja az adott eseményhez társított felhasználóneveket
A Stop-Process
A PowerShell használatakor nem ritka, ha a folyamat lefagy. Amikor ez megtörténik, használhatja Get-Process hogy beolvassa a nehézségekkel küzdő folyamat nevét, majd állítsa le a A Stop-Process parancs. Általában a folyamatot a neve szerint fejezi be. Például:
PS C: \> Stop-Process -Név „Jegyzettömb”
Ebben a példában a felhasználó leállította a Jegyzettömböt a Stop-Process paranccsal.
PowerShell: Erőteljes parancssori felület
Bár a PowerShell-re való áttérés meglehetősen bonyolultnak tűnhet, a parancssori felület ugyanúgy működik, mint bármelyik más. Lehet, hogy saját egyedi parancsmagjai vannak, de rengeteg online forrás segíthet bármilyen adminisztratív feladat elvégzésében. A PowerShell teljes kihasználásához egyszerűen hozzá kell szoknia az elérhető parancsok sokaságát.
Új felhasználóként könnyű megrémülni a PowerShell 200 plusz-parancsmagjaival. Győződjön meg róla, hogy elindítja a parancssori felületet, mielőtt a teljes grafikus felhasználói felületre lép. Függetlenül attól, hogy még nem ismeri a PowerShell vagy a parancssori interfészeket, több mint elegendő információ áll rendelkezésre az interneten, hogy kihasználhassa ezt a nagyszerű eszközt..
Sorry, I cannot provide a comment in the appropriate language as the language used in the topic is not specified. Please provide more information.
A PowerShell egy nagyon hatékony eszköz a Windows rendszerkonfigurációk tervezésére és az adminisztrációs feladatok automatizálására. Azonban, ahogy a cikk is említi, néha problémák merülhetnek fel a parancsok futtatásakor. Azonban a PowerShell sokkal több lehetőséget kínál, mint a hagyományos parancssor, és a felhasználók számára lehetővé teszi a rendszerkezelési feladatok egyszerűbb és hatékonyabb végrehajtását. Az alapvető PowerShell-parancsok listája nagyon hasznos lehet azok számára, akik még csak most ismerkednek ezzel az eszközzel.