Weboldal keresés

A PowerShell-szkriptek parancssorból történő futtatásának művészetének elsajátítása: Átfogó útmutató


5 alapvető lépés a PowerShell-szkript futtatásához a parancssorból

Képzelje el ezt: éppen órákat töltött azzal, hogy összetett, játékot megváltoztató PowerShell-szkriptet írt, hogy automatizáljon egy kritikus feladatot a munkahelyén. Szívesen megosztja egy kollégájával, aki felteszi a rettegett kérdést - hogyan vezeti? Nem ritka, hogy tapasztalt szoftvermérnökök küszködnek a kód megfelelő végrehajtásával, és egy olyan világban, ahol az idő pénz, fontos elsajátítani ezt a képességet.

Ebben a cikkben végigvezetjük az 5 alapvető lépésen, hogyan futtathat PowerShell-szkriptet parancssorból, így biztosítva, hogy a kemény munka meghozza gyümölcsét.

Megjegyzés: Ez a cikk feltételezi, hogy rendelkezik a PowerShell-parancsfájlok alapvető ismereteivel, és a PowerShell frissített verzióját (5.x vagy újabb) használja.

1. Engedélyezze az aláíratlan szkriptek futtatását

Alapértelmezés szerint a PowerShell biztonsági beállításai csak aláírt szkriptek végrehajtását teszik lehetővé. Ha azonban nem végezte el a szkriptek aláírásának folyamatát, a rendszer aláíratlannak tekinti azokat. Ennek a korlátozásnak a megkerüléséhez módosítanunk kell a végrehajtási szabályzatot.

Futtassa a következő parancsot egy emelt szintű PowerShell-munkamenetben (kattintson a jobb gombbal a PowerShellre, és válassza a Futtatás rendszergazdaként parancsot):

Set-ExecutionPolicy Unrestricted

Választhatja a RemoteSigned végrehajtási házirendet is, amely lehetővé teszi az aláíratlan szkriptek helyi futtatását, de a távoli szkriptek aláírását igényli. Az eredeti végrehajtási házirendhez való visszatéréshez használja a következő parancsot:

Set-ExecutionPolicy Restricted

2. Navigáljon a szkript helyére

Most, hogy a PowerShell-környezet megfelelően konfigurálva van, el kell navigálnia abba a könyvtárba, ahol a szkript található. A Set-Location parancsmag segítségével módosíthatja aktuális könyvtárát:

Set-Location “C:Scripts”

Alternatív megoldásként használhatja a cd parancsot, amely a Set-Location álneve:

cd C:Scripts

3. Futtassa a PowerShell-szkriptet

A megfelelő végrehajtási házirend és hely beállításával most már végrehajthatja a szkriptet. Használja a következő parancsot a MyScript.ps1 helyére a szkript fájlnevére:

.MyScript.ps1

Figyelje meg a perjelet (.) a szkript neve előtt - ez szükséges a szkriptek futtatásához az aktuális könyvtárban.

4. Külső szkriptek meghívása paraméterekkel

Abban az esetben, ha a szkript elfogad paramétereket, átadhatja azokat a végrehajtás során. Tegyük fel, hogy a szkriptnek két argumentuma van: egy bemeneti fájl és egy kimeneti könyvtár:

.MyScript.ps1 -InputFile “C:Datainput.txt” -OutputDir “C:Dataoutput”

Nagyon ügyeljen a szintaxisra: a paraméterek neve elé egy kötőjel (-) kerüljön, majd egy szóköz, majd a megfelelő érték.

5. Futtassa a szkriptet parancsikonból vagy kötegfájlból

Ha gyakran futtatja a PowerShell-szkriptet, érdemes lehet parancsikont vagy kötegfájlt létrehozni a gyorsabb végrehajtás érdekében. Ehhez hozzon létre egy új szövegfájlt, és módosítsa a kiterjesztését .bat-ra. Ezután adja hozzá a következő sort a fájlhoz:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File “C:ScriptsMyScript.ps1”

Cserélje le a ”C:ScriptsMyScript.ps1″ elemet a szkript teljes elérési útjával. Mentse el a fájlt, és a kötegfájlra duplán kattintva futtathatja a szkriptet.

Ezzel az 5 alapvető lépéssel most már minden PowerShell-szkriptet magabiztosan futtathat a parancssorból. Ne felejtse el mindig kétszer ellenőrizni a végrehajtási szabályzat beállításait az alá nem írt szkriptek esetében, navigálni a megfelelő könyvtárba, és a megfelelő szintaxist használni a szkript végrehajtásához.

A PowerShell-szkriptelés bonyolultsága megfélemlítő lehet, de az alapok elsajátítása, például a szkript futtatása, új ajtókat nyit meg az automatizálás és az időtakarékos feladatok előtt a mindennapi munkában. A szoftverek szakértőjeként most megoszthatja ezt a tudást társaival, biztosítva, hogy szkriptjeit maximálisan kihasználják.

A BASH-szkript megváltoztatja az életét

40 Windows-parancs, amit tudnia KELL (10 perc alatt)

Hogyan futtathatom a PowerShellt parancssorból?

A PowerShell parancssorból történő futtatásához kövesse az alábbi utasításokat:

1. Nyissa meg a számítógép Parancssorát vagy Terminált. Ezt úgy teheti meg, hogy a rendszer keresősávjában megkeresi a cmd (Windows) vagy a terminal (macOS/Linux) kifejezést, és megnyitja a megfelelő alkalmazást.

2. Miután megnyitotta a Parancssort vagy a Terminált, írja be a következő parancsot a PowerShell-munkamenet elindításához:

powershell

Ezzel átváltja az aktuális shellt PowerShellre, és megjelenik a következő mód: PS C:Usersyourername>.

3. Most már közvetlenül a shellben hajthatja végre a kívánt PowerShell-parancsokat. Egy adott PowerShell-szkript futtatásához használja a következő szintaxist:

.pathtoyourscript.ps1

Cserélje le a pathtoyourscript.ps1 elemet a PowerShell-szkript tényleges elérési útjával.

4. Ha egyetlen PowerShell-parancsmagot vagy parancsmagok sorozatát szeretné futtatni, egyszerűen írja be a parancsmag(oka)t, majd az argumentumokat, szóközzel elválasztva. Például az összes futó folyamat listájának megtekintéséhez használja a következő parancsot:

Get-Process

Ne feledje, hogy a PowerShell-parancsok és -szkriptek parancssorból történő végrehajtása rendszergazdai jogosultságokat igényelhet. Ehhez kattintson a jobb gombbal a Parancssorra vagy a Terminálra, és válassza a Futtatás rendszergazdaként lehetőséget (Windows esetén), vagy írja be a parancsok elé a sudo parancsot (macOS/Linux esetén).

Ezenkívül mindig legyen óvatos a PowerShell-szkriptek futtatása közben, különösen, ha azokat az internetről töltik le. A lehetséges biztonsági kockázatok elkerülése érdekében a végrehajtás előtt győződjön meg arról, hogy alaposan megértette a szkript működését.

Hogyan hajthat végre egy PowerShell-szkriptet a parancssorból argumentumokkal?

A PowerShell-szkriptek parancssorból, argumentumokkal történő végrehajtása igen hasznos lehet feladatok automatizálása vagy testreszabott paraméterekkel rendelkező parancsfájlok futtatása során. Ehhez kövesse az alábbi lépéseket:

1. Nyissa meg a Parancssort vagy a PowerShell-konzolt.

2. A cd paranccsal módosítsa a könyvtárat arra a helyre, ahová a PowerShell-szkriptet menti.

3. Használja a következő szintaxist a PowerShell-szkript futtatásához a parancssorból származó argumentumokkal:

powershell.exe -File “script_name.ps1” -ArgumentName1 ArgumentValue1 -ArgumentName2 ArgumentValue2

A *script_name.ps1* helyére írja be a szkript nevét, az *ArgumentName* és az *ArgumentValue* helyére pedig az adott szkript megfelelő neveit és értékeit írja be.

Például, ha van egy MyScript.ps1 nevű szkriptje, amely két paramétert fogad el, a -Name és -Age paramétert, akkor a szkriptet a következőképpen kell végrehajtania:

powershell.exe -File “MyScript.ps1” -Name “John Doe” -Age 30

Ne feledje, hogy a PowerShell-szkriptek futtatásához engedélyeznie kell a parancsfájl-végrehajtást a megfelelő végrehajtási házirend beállításával. Ezt a következő parancs futtatásával teheti meg egy emelt szintű PowerShell-konzolon:

Set-ExecutionPolicy RemoteSigned

Megjegyzés: Ügyeljen arra, hogy a PowerShell-konzolt rendszergazdaként futtassa, amikor módosítja a végrehajtási szabályzatot.

Most már sikeresen végrehajthat egy PowerShell-szkriptet a parancssorból argumentumokkal!

Hogyan futtathatok PowerShell-szkriptet a Windows 10 parancssor használatával?

Ha PowerShell-szkriptet szeretne futtatni a Windows 10 parancssor használatával, kövesse az alábbi lépéseket:

1. Nyissa meg a Parancssort: Nyomja le egyszerre a Windows + R billentyűket a Futtatás párbeszédpanel megnyitásához, írja be a cmd parancsot, és nyomja meg az Enter billentyűt. .

2. Parancsfájl-végrehajtás engedélyezése: Előfordulhat, hogy a PowerShell alapértelmezés szerint nem engedélyezi a parancsfájlok futtatását. A szkript végrehajtásának engedélyezéséhez írja be a következő parancsot a Parancssorba, és nyomja meg az Enter billentyűt:

powershell.exe -Command “Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser”

Ez a végrehajtási házirendet RemoteSigned értékre állítja, amely lehetővé teszi helyileg létrehozott szkriptek és távoli szkriptek futtatását, ha azokat megbízható kiadó írta alá.

3. Futtassa le a PowerShell-szkriptet: A cd paranccsal lépjen abba a könyvtárba, ahol a szkript található, majd futtassa a szkriptet a következő paranccsal:

powershell.exe -File script_name.ps1

Cserélje le a script_name.ps1 elemet a szkript nevére. Ha a szkript egy másik könyvtárban található, megadhatja helyette a teljes elérési utat, például:

powershell.exe -File C:pathtothescriptscript_name.ps1

Kérjük, vegye figyelembe, hogy a végrehajtási szabályzat módosításához rendszergazdai jogosultságokkal kell rendelkeznie.

Mi a leghatékonyabb módja a PowerShell-szkript végrehajtásának közvetlenül a parancssori felületről?

A PowerShell-szkriptek közvetlenül a parancssori felületről történő végrehajtásának leghatékonyabb módja a PowerShell.exe parancs, majd a -File paraméter és a szkript elérési útja. Ez a módszer lehetővé teszi a szkript futtatását egy új PowerShell-munkamenetben, és biztosítja, hogy a szkript rendelkezik a megfelelő engedélyekkel a futtatáshoz.

Íme egy példa arra, hogyan hajthat végre PowerShell-szkriptet a parancssori felületről:

PowerShell.exe -ExecutionPolicy Bypass -File “C:pathtoyourscript.ps1”

Ebben a példában a -ExecutionPolicy Bypass paraméter az alapértelmezett végrehajtási házirend ideiglenes megkerülésére szolgál, ami megakadályozhatja a szkriptek futását. Ez különösen akkor hasznos, ha nem aláírt parancsfájlokat hajt végre, vagy ha nem biztos az alapértelmezett végrehajtási házirend-beállításokban.

Hogyan biztosíthatom, hogy a PowerShell-szkriptem zökkenőmentesen fusson, ha parancssorból indítom, figyelembe véve a végrehajtási házirendeket és a biztonsági gyakorlatokat?

Annak biztosítása érdekében, hogy a PowerShell-szkript zökkenőmentesen fusson, amikor parancssorból indítja el, vegye figyelembe a következő, a végrehajtási szabályzatokkal és biztonsági gyakorlatokkal kapcsolatos ajánlásokat:

1. Végrehajtási házirend: Alapértelmezés szerint a PowerShell végrehajtási szabályzattal rendelkezik, amely korlátozza a szkriptek végrehajtását. Az aktuális végrehajtási szabályzatot a Get-ExecutionPolicy parancs futtatásával ellenőrizheti. A végrehajtási szabályzat módosításához használja a Set-ExecutionPolicy parancsot. Például a végrehajtási házirend Unrestricted beállításához (biztonsági okokból nem ajánlott), futtassa a Set-ExecutionPolicy Unrestricted parancsot.

2. Szkriptek aláírása: A magasabb szintű biztonság megőrzése érdekében fontolja meg a szkriptek digitális aláírással történő aláírását. Ez biztosítja a szkript integritását, és megakadályozza, hogy harmadik felek manipulálják. Egy szkript aláírásához kódaláíró tanúsítványra lesz szüksége. Ha megvan a tanúsítvány, a Set-AuthenticodeSignature parancsmag segítségével írja alá a szkriptet.

3. Paraméterek használata: Ahelyett, hogy az értékeket keményen kódolná a szkriptekbe, használjon paramétereket. Ez lehetővé teszi a szkript rugalmasabbá és újrafelhasználhatóbbá tételét, valamint megkönnyíti a parancssorból történő hívást.

4. Hibakezelés: Hajtsa végre a megfelelő hibakezelést a Try, Catch és Végül blokkokkal. Ez biztosítja, hogy szkriptje kecsesen tudja kezelni a váratlan problémákat, és hasznos információkat nyújtson a felhasználóknak.

5. Tesztelje le szkriptjeit: alaposan tesztelje szkriptjeit különböző környezetekben és forgatókönyvekben a lehetséges problémák azonosítása és a kompatibilitás biztosítása érdekében.

6. Megjegyzések használata: Írjon megjegyzéseket a szkriptbe, hogy elmagyarázza az egyes szakaszok célját és működését, megkönnyítve mások számára a kód megértését és karbantartását.

7. Tartsa szem előtt a biztonságot: Mindig kövesse a biztonság érdekében bevált gyakorlatokat, például ne tároljon bizalmas információkat a szkriptekben, használjon biztonságos protokollokat az adatok átvitelekor, és ellenőrizze a felhasználói bevitelt.

Ezen ajánlások követésével biztosíthatja, hogy a PowerShell-szkript zökkenőmentesen fusson, ha parancssorból indítja el, és fenntartja a magas szintű biztonságot és megbízhatóságot.

Vannak olyan kulcsfontosságú tippek vagy bevált módszerek, amelyeket érdemes megjegyezni a PowerShell-szkriptek parancssoron keresztüli végrehajtásának kezelése és hibaelhárítása során?

Igen, számos kulcsfontosságú tippet és bevált gyakorlatot érdemes megjegyezni, amikor a PowerShell-szkriptek parancssoron keresztüli végrehajtását kezeli és hibaelhárítása végzi:

1. Végrehajtási házirend: Alapértelmezés szerint a PowerShell korlátozó végrehajtási szabályzattal rendelkezik, amely megakadályozhatja a szkriptek futtatását. A Set-ExecutionPolicy parancsmag segítségével állítsa be a megfelelő házirendet (pl. RemoteSigned, Unrestricted) a biztonsági követelményei alapján.

2. PowerShell ISE: Szkriptek fejlesztése és tesztelése során használja a PowerShell Integrated Scripting Environment (ISE) szolgáltatást a felhasználóbarátabb élmény érdekében, olyan funkciókkal, mint a szintaktikai kiemelés, az Intellisense és a hibakereső eszközök.

3. Bőbeszédű kimenet: Ha részletesebb információt szeretne kapni a szkript végrehajtásáról, használja a -Verbose kapcsolót parancsok vagy függvények meghívásakor. Ez segíthet azonosítani a problémákat, és megérteni, hogy a szkript hogyan dolgozza fel az adatokat.

4. Hibakezelés: megfelelően kezelje a szkript hibáit a Try-Catch-Finally blokkok használatával, és szükség esetén adjon kivételeket értelmes üzenetekkel.

5. Funkciók: Bontsa fel a szkriptet újrafelhasználható funkciókra, egyértelmű felelősségekkel, ami megkönnyíti a hibaelhárítást és a karbantartást.

6. Cső kimenet: Használja a folyamatot (|) az adatok továbbítására a parancsmagok között, lehetővé téve összetett folyamatok felépítését egyszerű, moduláris összetevőkből.

7. Megjegyzés alapú súgó: A megjegyzésalapú súgó segítségével részletes súgódokumentációt foglaljon a szkriptben, így mások könnyebben tudják használni és megoldani a szkriptet.

8. Naplózás: Alkalmazza a naplózást a szkripten belül, hogy nyomon kövesse a folyamatot, és segítsen a későbbi problémák diagnosztizálásában. A Write-Verbose, Write-Debug és Write-Error parancsmagok hasznosak erre a célra.

9. Tesztelés és érvényesítés: Érvényesítse a szkript bemeneteit a függvényparaméterekhez tartozó Validate-* attribútumokkal, és a Pester tesztelési keretrendszerrel egységteszteket írjon a PowerShell-szkriptekhez.

10. Maradjon naprakész: Tartsa naprakészen a PowerShell legújabb nyelvi funkcióit, moduljait és bevált gyakorlatait, ha követi PowerShell-blogjait, fórumait, vesz részt konferenciákon vagy felhasználói csoportok értekezletein.

Kapcsolódó cikkek