PowerShell-szkript futtatásának útmutatója – Az összes beállítás magyarázata
A PowerShell-szkriptek nagyszerű lehetőséget nyújtanak a feladatok automatizálására, az információk összegyűjtésére vagy a tulajdonságok tömeges módosítására. A legtöbb PowerShell-parancs csak egy sor, amelyet egyszerűen másolhat és illeszthet be a PowerShellbe. De hogyan futtathat egy teljes PowerShell-szkriptet?
Van néhány lehetőség a PowerShell-szkriptek futtatására, egyszerűen a parancsmagból, a PowerShell ISE használatával, vagy akár egy ütemezett feladattal.
Ebben a cikkben elmagyarázom a PowerShell-szkript futtatásának különböző lehetőségeit. Ezenkívül segítek a gyakori hibákban, például „a szkriptek futtatása le van tiltva ezen a rendszeren”.
A Fix Running Scripts le van tiltva ezen a rendszeren
Egy gyakori hibával fogunk kezdeni, amely megakadályozza a legtöbb felhasználót PowerShell-szkriptek futtatásában, a „A szkriptek futtatása le van tiltva ezen a rendszeren” hibával. Ezt a hibát a PowerShell végrehajtási szabályzata okozza.
Alapértelmezés szerint a PowerShell-végrehajtási házirend Korlátozott értékre van állítva. Ez azt jelenti, hogy a PowerShell-szkriptek egyáltalán nem futnak.
Tehát egy PowerShell-szkript futtatásához először meg kell változtatnunk a végrehajtási szabályzatot. A szabályzathoz néhány lehetőségünk van:
- Restricted
Alapértelmezett beállítás - nem teszi lehetővé PowerShell-szkriptek futtatását
- Unrestricted
Bármilyen szkriptet futtathat, figyelmeztetést mutat a letöltött szkriptekre
- RemoteSigned
A letöltött szkriptekhez digitális aláírás szükséges. Futtathat helyben írt szkripteket. Feloldhatja a letöltött szkriptek letiltását
aláírás nélküli futtatásához- ByPass
Az összes szkriptet futtathatja, és nem jelennek meg figyelmeztetések
- AllSigned
Csak megbízható megjelenítőktől származó aláírt szkripteket futtathat
A végrehajtási házirendek nem biztonsági modellként készültek, hanem inkább a PowerShell-szkriptek véletlen végrehajtásának megakadályozására szolgálnak. A legjobb megoldás a RemoteSigned házirend használata, így nem futtathat véletlenül letöltött szkriptet (először fel kell oldania a blokkolást). A végrehajtási szabályzatról ebben a cikkben olvashat bővebben.
Tanács
Ebben a teljes útmutatóban tudhat meg többet a saját PowerShell-szkriptek írásáról
A PowerShell végrehajtási házirendjének megváltoztatásához (és a „Szkriptek futtatása ezen a rendszeren le van tiltva) javításához rendszergazdai jogosultságokkal kell elindítanunk a PowerShellt:
- Nyomja meg a Windows billentyű + X gombot (vagy kattintson jobb gombbal a Start menüre)
- Válassza a Windows PowerShell (rendszergazda) lehetőséget
- Futtassa az alábbi parancsot:
Set-ExecutionPolicy RemoteSigned
Most már képesnek kell lennie a PowerShell-szkriptek futtatására.
Futtasson egy PowerShell-szkriptet
Van néhány lehetőség a PowerShell-szkript futtatására. A legkényelmesebb módja, ha egyszerűen kattintson a jobb gombbal a fájlra, és válassza a Futtatás PowerShell-lel lehetőséget.
De ennek a módszernek van egy árnyoldala is. Alapértelmezés szerint a legtöbb PowerShell-szkript automatikusan bezárja a PowerShell-ablakot, amikor a parancsfájl elkészült. Tehát a szkript végrehajtásra kerül, de nem tudja elolvasni a hibákat vagy a kimenetet.
Ezt úgy oldhatja meg, hogy hozzáadja a következő sort a PowerShell-szkript végéhez, de ez nem mindig kényelmes megoldás:
Read-Host -Prompt "Press Enter to exit"Használja a Windows PowerShellt
Én személy szerint jobban szeretem a PowerShell-parancsfájlok indítását a Windows PowerShell parancssorából. Ennek két módja van: először elindíthatja a PowerShellt, és navigálhat a szkripthez, vagy megnyithatja a PowerShellt a megfelelő helyen az Intézőből.
Az utóbbival kezdjük, megnyitva a PowerShell-t a megfelelő helyen az Explorerből. Az Intézőben keresse meg a futtatni kívánt szkriptet, ebben az esetben a c:\temp\powershell.
- Kattintson jobb gombbal az Intéző üres területére (nem a PowerShell-fájlra)
- Válassza a PowerShell-ablak megnyitása itt
lehetőséget (Windows 11 rendszerben a Megnyitás a Windows terminálban lehetőséget kell választania)
Mint látható, a PowerShell a c:\temp\PowerShell mappában indul el. Most már futtathatjuk a szkriptet a fájlnév beírásával (írja be az első néhány betűt, és nyomja meg a Tab billentyűt az automatikus kiegészítéshez)
Először is elindíthatja a Windows PowerShellt:
- Kattintson jobb gombbal a Start menüre (vagy nyomja meg a Windows billentyű + X billentyűt)
- Válassza a Windows PowerShell lehetőséget
- Navigáljon abba a mappába, ahol a szkript található
cd c:\path\to\script - Futtassa a PowerShell-szkriptet
.\PowerShellExampleScript.ps1
Futtassa a PowerShell Scriptet a CMD-ről
Ha megpróbálta futtatni a PowerShellt a cmd-ből, akkor észrevehette, hogy az csak megnyitja a szkriptet a Jegyzettömbben. Nem igazán az az eredmény, amit keresünk.
A PowerShell-szkript futtatásához meg kell mondanunk a parancssornak, hogy nyissa meg a szkriptet a PowerShell-lel. Ehhez a következő cmd-t használhatjuk:
PowerShell c:\path\to\script\PowerShellScript.ps1Vegye figyelembe, hogy meg kell meg kell adnia a PowerShell-szkript teljes elérési útját. A parancsfájl eredménye megjelenik a parancssorban.
Ha nyitva szeretné tartani a PowerShell-munkamenetet, hozzáadhatja a -noexit paramétert a parancshoz:
PowerShell -noexit c:\temp\PowerShell\PowerShellExampleScript.ps1A PowerShell ISE használata
Amikor letölt egy szkriptet az internetről, mindig érdemes átnézni a szkriptet, mielőtt futtatná. A PowerShell-szkriptek áttekintésének és futtatásának egyszerű módja a PowerShell ISE használata.
Ha meg szeretne nyitni egy PowerShell-fájlt a szerkesztőben, egyszerűen kattintson rá jobb gombbal, és válassza a Szerkesztés parancsot.
Amikor először használja a szerkesztőt, először ki kell bontania a szkriptpanelt, hogy megtekinthesse a PowerShell-szkript tartalmát:
Egy szkript futtatásához a PowerShell ISE-ben egyszerűen kattintson a zöld lejátszás gombra az eszköztáron. A szkriptek eredményei megjelennek a konzolon:
Futtassa a PowerShell Scriptet rendszergazdaként
Egyes PowerShell-parancsfájlok megfelelő futtatásához rendszergazdai jogosultság szükséges. Lehetséges, hogy hozzá kell férniük a rendszermeghajtón lévő összes mappához, vagy más tartományi számítógépekkel vagy kiszolgálókkal kell együttműködniük.
A PowerShell-parancsfájlok rendszergazdaként való futtatásának legegyszerűbb módja a Windows PowerShell rendszergazdaként történő elindítása.
- Nyomja meg a Windows billentyű + X billentyűket (vagy kattintson a jobb gombbal a Start menüre)
- Válassza a Windows PowerShell (rendszergazda) lehetőséget
- Kattintson az Igen lehetőségre a Felhasználói fiók biztonsága ablakban
Mostantól bármilyen PowerShell-parancsot vagy szkriptet futtathat rendszergazdai jogosultságokkal. Egyszerűen navigáljon a szkripthez (vagy akár húzza át a szkriptet) a futtatásához.
A PowerShell-szkriptet rendszergazdaként is futtathatja a parancssorból. Ha a PowerShell nyitva van, elindíthatunk egy új PowerShell-folyamatot, és rendszergazdaként futtathatjuk. Opcionálisan megadhatjuk a futtatni kívánt fájlt is:
# Open a new PowerShell windows with Administrator Privilege
Start-Process PowerShell -Verb runAs
# Run PowerShell script with Administrator Privilege
Start-Process PowerShell -Verb runAs -ArgumentList "-file c:\temp\powershell\powershellexamplescript.ps1"Becsomagolás
Remélem, sikerült futtatnia a PowerShell-szkriptet a fenti lépésekkel. A PowerShell-szkript futtatása előtt győződjön meg arról, hogy megfelelően állította be a végrehajtási házirendet. A PowerShell-parancsfájlokat a Feladatütemezővel is ütemezheti.
Ha bármilyen kérdése van, csak írjon megjegyzést alább. Ne felejtsen el olvasni a PowerShell-profil beállításáról is.








