Weboldal keresés

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:

  1. Nyomja meg a Windows billentyű + X gombot (vagy kattintson jobb gombbal a Start menüre)
  2. Válassza a Windows PowerShell (rendszergazda) lehetőséget
  3. 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.

  1. Kattintson jobb gombbal az Intéző üres területére (nem a PowerShell-fájlra)
  2. 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:

  1. Kattintson jobb gombbal a Start menüre (vagy nyomja meg a Windows billentyű + X billentyűt)
  2. Válassza a Windows PowerShell lehetőséget
  3. Navigáljon abba a mappába, ahol a szkript található
    cd c:\path\to\script
  4. 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.ps1

Vegye 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.ps1

A 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.

  1. Nyomja meg a Windows billentyű + X billentyűket (vagy kattintson a jobb gombbal a Start menüre)
  2. Válassza a Windows PowerShell (rendszergazda) lehetőséget
  3. 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.

Kapcsolódó cikkek