Geek School: Ismerje meg a Windows PowerShell automatizálásának módját

Tartalomjegyzék:

Geek School: Ismerje meg a Windows PowerShell automatizálásának módját
Geek School: Ismerje meg a Windows PowerShell automatizálásának módját

Videó: Geek School: Ismerje meg a Windows PowerShell automatizálásának módját

Videó: Geek School: Ismerje meg a Windows PowerShell automatizálásának módját
Videó: The iPhone 12 Is AWESOME On iOS 17 - YouTube 2024, Lehet
Anonim
Ebben a Geek Iskola kiadásában segítünk megérteni a Windows rendszerbe épített PowerShell parancsfájl nyelvét, és rendkívül hasznos az informatikai környezetben.
Ebben a Geek Iskola kiadásában segítünk megérteni a Windows rendszerbe épített PowerShell parancsfájl nyelvét, és rendkívül hasznos az informatikai környezetben.

Bár ez a sorozat nem felépített egy vizsga körül, a PowerShell tanulás az egyik legfontosabb dolog, amit tehetünk hálózati rendszergazdaként, tehát ha van valami, amit megtanulni, hogy segítsen az informatikai karrierednek, ez az. Plusz, nagyon szórakoztató.

Bevezetés

A PowerShell a legerősebb automatizációs eszköz, amelyet a Microsoft kínál, és mindkettő egy héj és egy szkriptnyelv.

Kérjük, vegye figyelembe, hogy ez a sorozat a Windows 8 és a Server 2012 szervizcsomaggal ellátott PowerShell 3 rendszeren alapul. Ha Windows 7 operációs rendszert futtat, töltse le a PowerShell 3 frissítést a folytatás előtt.

Ismerje meg a konzolt és az ISE-t

Két lehetőség van arra, hogy a PowerShell-tel érintkezzen a dobozból, a Console-ból és az Integrált Scripting Environment-ből (más néven ISE-ből). Az ISE jelentősen javult a PowerShell 2 szoftverrel szállított szörnyű verzióból, és megnyitható a Win + R billentyűkombináció megnyomásával, hogy megjelenjen egy futódoboz, majd írja be a powershell_ise parancsot és nyomja meg az enter billentyűt.

Ahogy láthatja az ISE-t, úgy osztja meg a nézetet, hogy gyorsan forgassa a szkriptet, miközben továbbra is láthatóvá válik az eredmény az ISE alsó felében. Az ISE alsó fele, ahol a parancsfájl eredményei kinyomtathatók, REPL parancsként is használhatók - hasonlóan a parancssorhoz. A v3 ISE végül támogatást nyújtott az intellisense számára mind a parancsfájlban, mind az interaktív konzolban.
Ahogy láthatja az ISE-t, úgy osztja meg a nézetet, hogy gyorsan forgassa a szkriptet, miközben továbbra is láthatóvá válik az eredmény az ISE alsó felében. Az ISE alsó fele, ahol a parancsfájl eredményei kinyomtathatók, REPL parancsként is használhatók - hasonlóan a parancssorhoz. A v3 ISE végül támogatást nyújtott az intellisense számára mind a parancsfájlban, mind az interaktív konzolban.
Image
Image
Alternatív megoldásként a PowerShell konzolt használhatja a PowerShell konzollal, amelyiket fogom használni a legtöbb ilyen sorozat számára. A PowerShell konzol nagyon hasonlít a parancssorhoz - egyszerűen be kell írnia a parancsokat, és ki kell piszkálnia az eredményeket. A Windows PowerShell konzol megnyitásához nyomja meg ismét a Win + R billentyűzetkombinációt egy futtatási mező megnyitásához és írja be a powershell parancsot, majd nyomja meg az enter billentyűt.
Alternatív megoldásként a PowerShell konzolt használhatja a PowerShell konzollal, amelyiket fogom használni a legtöbb ilyen sorozat számára. A PowerShell konzol nagyon hasonlít a parancssorhoz - egyszerűen be kell írnia a parancsokat, és ki kell piszkálnia az eredményeket. A Windows PowerShell konzol megnyitásához nyomja meg ismét a Win + R billentyűzetkombinációt egy futtatási mező megnyitásához és írja be a powershell parancsot, majd nyomja meg az enter billentyűt.
A REPL utasítások, mint ez, fantasztikusak az azonnali kielégüléshez: megad egy parancsot, és eredményeket kap. Miközben a konzol nem kínál intellisense-t, akkor valami úgynevezett tabulátor-készítést kínál, amely ugyanúgy működik, mint egyszerűen: egyszerűen indítsa el a parancsot, és nyomja meg a lapot, hogy megkeresse a lehetséges egyezéseket.
A REPL utasítások, mint ez, fantasztikusak az azonnali kielégüléshez: megad egy parancsot, és eredményeket kap. Miközben a konzol nem kínál intellisense-t, akkor valami úgynevezett tabulátor-készítést kínál, amely ugyanúgy működik, mint egyszerűen: egyszerűen indítsa el a parancsot, és nyomja meg a lapot, hogy megkeresse a lehetséges egyezéseket.
Image
Image
Image
Image

A Súgó használata

A PowerShell korábbi verzióiban a Windows telepítésekor a súgófájlok szerepeltek. Ez jó megoldás volt a legtöbb esetben, de jelentős problémát okozott nekünk. Amikor a PowerShell súgócsoportnak le kellett állítania a súgófájlokat, a PowerShell fejlesztők még mindig foglalták a kódolást, és változtattak. Ez azt jelentette, hogy amikor a PowerShell szállított, a súgófájlok helytelenek voltak, mert nem tartalmazták a kóddal kapcsolatban újabb módosításokat. A probléma megoldásához a PowerShell 3 nem tartalmaz súgófájlokat a fiókból, és tartalmaz egy frissíthető súgórendszert. Ez azt jelenti, hogy mielőtt bármit megtennél, letölteni szeretnéd a legfrissebb súgófájlokat. Ezt a PowerShell konzol megnyitásával és futtatásával teheti meg:

Update-Help

Image
Image
Gratulálok az első PowerShell parancs futtatásához! Az igazság az, hogy a Frissítés-Súgónak sokkal több lehetősége van, mint egyszerűen csak futni, és látni őket, meg szeretnénk tekinteni a parancs segítségét. Egy parancs súgójának megtekintéséhez egyszerűen adja át a segítség nevét a Get-Help parancs Név paraméterével, például:
Gratulálok az első PowerShell parancs futtatásához! Az igazság az, hogy a Frissítés-Súgónak sokkal több lehetősége van, mint egyszerűen csak futni, és látni őket, meg szeretnénk tekinteni a parancs segítségét. Egy parancs súgójának megtekintéséhez egyszerűen adja át a segítség nevét a Get-Help parancs Név paraméterével, például:

Get-Help –Name Update-Help

Valószínűleg arra gondolsz, hogy hogyan értelmezheted az összes szöveget, úgy értem, miért van két információ a szintaxis szakasz alatt és miért van annyi zárójel a helyén? Először is: az ok, hogy a szintaktikai szakaszban két információblokk van, mivel különböző módon mutatják be a parancsot. Ezeket technikailag paraméterkészleteknek nevezik, és csak egyszer használhatóak (különböző paraméterekből nem lehet paramétereket keverni). A fenti képernyőképen látható, hogy a felső paraméterkészletnek van egy SourcePath paramétere, míg az alsó nem. Ennek az az oka, hogy a legmagasabb paraméterkészletet (a SourcePath-ot is beleértve) használja, ha frissítette a súgófájljait a hálózat egy másik gépéről, amely már letöltötte őket, miközben nem kellene megadnia a forrásútvonalat, ha csak meg akartam ragadni a Microsoft legújabb fájljait.
Valószínűleg arra gondolsz, hogy hogyan értelmezheted az összes szöveget, úgy értem, miért van két információ a szintaxis szakasz alatt és miért van annyi zárójel a helyén? Először is: az ok, hogy a szintaktikai szakaszban két információblokk van, mivel különböző módon mutatják be a parancsot. Ezeket technikailag paraméterkészleteknek nevezik, és csak egyszer használhatóak (különböző paraméterekből nem lehet paramétereket keverni). A fenti képernyőképen látható, hogy a felső paraméterkészletnek van egy SourcePath paramétere, míg az alsó nem. Ennek az az oka, hogy a legmagasabb paraméterkészletet (a SourcePath-ot is beleértve) használja, ha frissítette a súgófájljait a hálózat egy másik gépéről, amely már letöltötte őket, miközben nem kellene megadnia a forrásútvonalat, ha csak meg akartam ragadni a Microsoft legújabb fájljait.

A második kérdés megválaszolásához létezik egy bizonyos szintaxis, amely segít a fájlok követésében, és itt van:

  • A paraméter neve és típusa közötti szögletes zárójelek azt jelentik, hogy opcionális paraméter, és a parancs csak anélkül működik, hogy rajta lenne.
  • A paraméterek neve körüli szögletes zárójelek azt jelzik, hogy a paraméterek pozícióparaméterek.
  • A szögben levő zárójelben lévő paraméter jobb oldalán az a paraméter adja meg az adattípust, amelyet a paraméter vár.

Miközben meg kell tanulnod a súgófájl szintaxisának olvasását, ha egy adott paraméterrel kapcsolatban még mindig bizonytalan vagy, add hozzá - Teljesen a get help parancs végéig, és görgessen le a paraméterekhez, ahol mindegyikről többet fog elmondani paraméter.

Get-Help –Name Update-Help –Full

Az utolsó dolog, amit meg kell tudni a segítségnyújtási rendszerről, hogyan lehet használni a parancsok felfedezéséhez, ami valójában nagyon egyszerű. Látja, a PowerShell szinte bárhol elfogadja a helyettesítő karaktereket, így a Get-Help paranccsal együtt könnyedén felfedezheti a parancsokat. Például olyan parancsokat keresek, amelyek a Windows szolgáltatásokkal foglalkoznak:
Az utolsó dolog, amit meg kell tudni a segítségnyújtási rendszerről, hogyan lehet használni a parancsok felfedezéséhez, ami valójában nagyon egyszerű. Látja, a PowerShell szinte bárhol elfogadja a helyettesítő karaktereket, így a Get-Help paranccsal együtt könnyedén felfedezheti a parancsokat. Például olyan parancsokat keresek, amelyek a Windows szolgáltatásokkal foglalkoznak:

Get-Help –Name *service*

Persze, ezek az információk talán nem hasznosak a denevéren, de bízz bennem, időt vegyek, és megtanulják használni a súgó rendszert. Mindig hasznos, még a fejlett szkripteknek is, akik már évek óta ezt csinálják.
Persze, ezek az információk talán nem hasznosak a denevéren, de bízz bennem, időt vegyek, és megtanulják használni a súgó rendszert. Mindig hasznos, még a fejlett szkripteknek is, akik már évek óta ezt csinálják.

Biztonság

Ez nem lenne megfelelő bevezetés a biztonság megemlítése nélkül. A PowerShell csapata legnagyobb aggodalma az, hogy a PowerShell lesz a legfrissebb és legnagyobb támadási pont a forgatókönyvek számára. Helyeztek néhány biztonsági intézkedést annak biztosítására, hogy ez ne történjen meg, szóval nézzük meg őket.

A védelem legegyszerűbb formája abból fakad, hogy a PS1 fájlkiterjesztés (a PowerShell parancsfájl jelölésére használt kiterjesztés) nem regisztrálva van egy PowerShell állomáson, amely ténylegesen bejegyzett a Notepad-al. Ez azt jelenti, hogy ha duplán kattintunk egy fájllal, a futás helyett a jegyzettömb segítségével nyílik meg.

Másodszor, nem tudja futtatni a parancsfájlokat a shellből, csak írja be a parancsfájl nevét, meg kell adnia a parancsfájl teljes elérési útját. Tehát ha a C meghajtón szkriptet akarsz futtatni, írd be:

C:

unme.ps1

Vagy ha már a C meghajtó gyökerében van, akkor a következőket használhatja:

unme.ps1

Végül a PowerShell valamilyen úgynevezett végrehajtási házirendet tartalmaz, amely megakadályozza a régi parancsfájlok futtatását. Valójában alapértelmezés szerint nem tudsz parancsfájlokat futtatni, és a végrehajtási irányelveket módosítani kell, ha engedélyezni szeretné őket. 4 kiemelkedő végrehajtási irányelv létezik:

  • Korlátozott: Ez a PowerShell alapértelmezett beállítása. Ez a beállítás azt jelenti, hogy egyetlen parancsfájl sem futtatható, függetlenül annak aláírásától. Az egyetlen dolog, ami a PowerShell-ben futtatható ezzel a beállítással, egyedi parancs.
  • AllSigned: Ez a beállítás lehetővé teszi a szkriptek futtatását a PowerShell-ben. A szkriptnek társított digitális aláírással kell rendelkeznie egy megbízható kiadótól. A szkriptek futtatása a megbízható kiadók előtt történik.
  • RemoteSigned: Ez a beállítás lehetővé teszi a szkriptek futtatását, de megköveteli, hogy az internetről letöltött szkript és konfigurációs fájlok társított digitális aláírással rendelkezzenek egy megbízható kiadótól. A helyi számítógépen futó parancsfájlokat nem kell aláírni. A parancsfájl futtatása előtt nincsenek utasítások.
  • Korlátlan: Ez lehetővé teszi az aláírással ellátott parancsfájlok futtatását, beleértve az Internetről letöltött összes szkriptet és konfigurációs fájlt. Ez magában foglalja az Outlook és a Messenger programban található fájlokat. A kockázat itt szkriptek futása aláírás vagy biztonság nélkül. Újra bevezettük, hogy ezt a beállítást soha nem adjuk meg.

Ha meg szeretné tudni, hogy milyen aktuális végrehajtási házirend van beállítva, nyisson meg egy PowerShell konzolt, és írja be:

Get-ExecutionPolicy

Ehhez a kurzushoz és a legtöbb egyéb körülményhez a RemoteSigned házirend a legjobb, ezért folytassa és megváltoztassa a házirendet az alábbiak szerint.
Ehhez a kurzushoz és a legtöbb egyéb körülményhez a RemoteSigned házirend a legjobb, ezért folytassa és megváltoztassa a házirendet az alábbiak szerint.

Megjegyzés: Ezt egy megnövelt PowerShell konzoltól kell elvégezni.

Set-ExecutionPolicy RemoteSigned

Ez az egész ebben az időben emberek, holnap találkozunk egy újabb PowerShell szórakozással.
Ez az egész ebben az időben emberek, holnap találkozunk egy újabb PowerShell szórakozással.

Felelősség kizárása: A PowerShell parancs megfelelő terméke cmdlet, és mostantól fogjuk használni ezt a helyes terminológiát. Sokkal inkább úgy érezték, megfelelőnek ítélik őket a bevezetés parancsára.

Ha bármilyen kérdése van, akkor tweet @taybgibb, vagy csak hagyj egy megjegyzést.

Ajánlott: