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 UnrestrictedVá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 Restricted2. 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:Scripts3. 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.ps1Figyelje 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:
powershellEzzel á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.ps1Cseré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-ProcessNe 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 ArgumentValue2A *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 30Ne 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 RemoteSignedMegjegyzé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.ps1Cseré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.ps1Ké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.