jos olet uusi PowerShell-komentosarjakielellä ja haluat oppia ajamaan PowerShell-komentosarjaa, olet tullut oikeaan blogikirjoitukseen. Tämä blogi on opetusohjelma, joka kattaa yleisiä tapoja suorittaa skriptejä ja muutamia kysymyksiä, jotka voivat avautua.

Sisällysluettelo

Edeltävät opinnot

tämä artikkeli on sinulle läpikäynti siitä, miten suoritat Powershellia paikallisessa tietokoneellasi. Jos haluat seurata mukana, varmista, että sinulla on seuraavat edellytykset ennen tämän artikkelin aloittamista.

  • Windows 10-tietokone, jolla on järjestelmänvalvojan oikeudet.
  • Windows PowerShell-versio 5 tai uudempi. Voit käyttää myös PowerShell v7: ää. Tämä opetusohjelma keskittyy Windows Powershelliin, koska Windows-käyttöjärjestelmällä on jo se.
  • mikä tahansa tekstitiedostoeditori

käsittelee Suorituskäytäntöä

jos tämä on ensimmäinen kerta, kun yrität suorittaa Windows PowerShell-komentosarjaa, Saatat törmätä yleiseen ongelmaan. PowerShell todennäköisesti palauttaa virheviestin, jossa todetaan, että komentosarjaa ”ei voi ladata, koska käynnissä olevat komentosarjat on poistettu käytöstä tässä järjestelmässä”.

PS> .\GetServices.ps1 File C:\Temp\GetServices.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:1 .\GetServices.ps1 ~~~~~ CategoryInfo : SecurityError: (:) , PSSecurityException FullyQualifiedErrorId : UnauthorizedAccess 

PowerShell palauttaa yllä olevan virheviestin, kun yrität ajaa Powershellia suorituskäytännöllä, joka on asetettu rajoitettuun, Etäkirjoitettuun tai All Signed-muotoon.

Restricted

Restricted on Windows-asiakastietokoneiden oletuskäytäntö. Jos käytät Powershellia ensimmäistä kertaa, oletuskäytäntösi asetetaan todennäköisesti rajoittamaan kaikkia skriptejä.

voit silti suorittaa yksittäisiä komentoja päätteessä, mutta et komentosarjatiedostossa. Rajoitus sisältää minkä tahansa tiedoston, joka päättyy arvoon .ps1xml, .psm1 tai .ps1.

rajoittamaton

rajoittamaton mahdollistaa minkä tahansa komentosarjan suorittamisen, se kuitenkin varoittaa ennen suoritusta, jos skripti ladataan internetistä. Tämä käytäntö on yleensä oletusarvo kaikille muille kuin windows-laitteille.

Remote Signed

Remote Signed-käytännön avulla voit suorittaa minkä tahansa komentosarjan, joka on joko (A) digitaalisesti allekirjoitettu tai (b) minkä tahansa paikallisessa tietokoneessa allekirjoituksella tai ilman allekirjoitusta kirjoitetun komentosarjan.

jos skripti on ladattu Internetistä eikä sitä ole allekirjoitettu, tiedoston esto on poistettava. Voit tehdä sen napsauttamalla tiedostoa hiiren kakkospainikkeella ja valitsemalla Ominaisuudet. Tai voit käyttää Unblock-File PowerShell cmdletiä kyseiselle komentosarjatiedostolle.

Etäkirjoituskäytännön käyttäminen olisi ihanteellinen vaihtoehto ajettaessa internetistä ladattua komentosarjaa.

kaikki allekirjoitetut

kaikki allekirjoitetut edellyttää, että luotettu julkaisija allekirjoittaa kaikki skriptit digitaalisesti. Tämä sisältää skriptit ladataan internetistä ja kirjoitetaan paikallisesti tietokoneeseen.

PowerShell-Suorituskäytännön muuttaminen

suorituskäytännön muuttamiseksi:

  1. Avaa Windows PowerShell Run as Administratorilla varmistaaksesi, että sinulla on korkein oikeus tehdä käytäntömuutoksia.
Search PowerShell In Start Menu
Search PowerShell In Start Menu

2. Kun olet auki, suorita seuraava PowerShell-komento asettaaksesi tietokoneesi suorituskäytännön. Edellä kuvattu toteutuspolitiikka voi olla yksi kolmesta eri tyypistä. Tämä opetusohjelma käyttää hyödyllistä mutta silti turvallista suorituspolitiikkaa RemoteSigned.

koska tämä opetusohjelma olettaa, että olet ladannut Internetistä getservices.ps1-komentosarjatiedoston, aseta suorituskäytännöksi Remotesign.

PS> Set-ExecutionPolicy RemoteSigned

RemoteSigned-suorituskäytäntö pakottaa sinut allekirjoittamaan Kryptografisesti jokaisen Internetistä ladatun PowerShell-komentosarjan ennen kuin PowerShell ajaa sen järjestelmääsi.

3. Sinun pitäisi nähdä ulostulo pyytää vahvistamaan toiminnon. Kirjoita Y ja paina enter vahvistaaksesi käytäntömuutoksen.

Execution Policy Change The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose you to the security risks described in the about_Execution_Policies help topic at https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy? Yes Yes to All No No to All Suspend Help (default is "N"): 

tässä vaiheessa seuraa seuraavia vaiheita ja tutki eri menetelmiä PowerShell-komentosarjan ajamiseksi tietokoneellasi.

How to Run a PowerShell Script

to demonstrate running a PowerShell script, you actually need a script file to run! Jos sinulla ei ole yhtä kätevää, lataa tämä ZIP-tiedosto ja pura PS1-tiedosto sisällä. Löydät sisältä yksinkertaisen komentosarjatiedoston nimeltä GetServices. ps1.

Write-Output "Listing Computer Services"Get-Service

jokaisen PowerShell-komentosarjan tulisi päättyä .ps1 – laajennukseen.

konsolilla

kun skripti on valmis, voit suorittaa PowerShell-komentosarjatiedoston muutamalla eri tavalla. Yksi yleisimmistä tavoista on PowerShell-konsolin kautta.

:

  1. avaa PowerShell-konsoli kuten yllä.

2. Siirry tiedostojärjestelmän sijaintiin komentosarjasi sijaitsee käyttäen Set-Location PowerShell cmdletiä tai cd alias. Tämän opetusohjelman käsikirjoitus löytyy C:\Temp Hakemisto.

PS> cd C:\Temp\

3. Suorita skripti pisteellä (.). PowerShell on komentotulkki, joka etsii myös komentojen nimiä. Tehdäksesi eron PowerShell-komennon ja komentosarjan välillä, sinun on esipuhuttava komentosarja pisteellä. Tämä piste edustaa nykyistä hakemistoa.

 PS> .\GetServices.ps1

kuinka suoritan PowerShell-komentosarjan komentoriviltä PowerShellin sijainnin kautta

jos et voi tai halua suorittaa komentosarjoja PowerShell-konsolin kautta, voit tehdä sen myös good ol ’ – komentorivillä (komentorivi).

jos haluat suorittaa skriptejä komentokehotteen kautta, sinun täytyy ensin käynnistää PowerShell-suoritustiedosto (powershell.exe), jossa PowerShellin sijainti on C:\Program Files\WindowsPowerShell\powershell.exe ja siirtää komentosarjapolun parametrina sille.

voit suorittaa skriptejä parametreilla missä tahansa kontekstissa määrittämällä ne ajaessasi PowerShell-suoritustiedostoa, kuten powershell.exe -Parameter 'Foo' -Parameter2 'Bar'.

kun avaat cmd: n.exe, voit suorittaa PowerShell-komentosarjan kuten alla. Tämä esimerkki on käynnissä Moottorin ja kulkee sen script polku C:\Temp\GetServices.ps1.

huomaa alla, että alla oleva esimerkki käyttää komentosarjan ajamiseen PowerShell location-polkua. Sinun täytyy tehdä tämä, jos kansio ei ole tiellä jossain.

CMD> C:\Program Files\WindowsPowerShell\powershell.exe "C:\Temp\GetServices.ps1"

PowerShell 7: n PowerShell-sijainti käyttää eri suoritustiedostoa nimeltä pwsh.exe sijaitsee tyypillisesti C:\Program tiedostot \ PowerShell\7\pwsh.exe.

alla on kätevä YouTube-video, joka kattaa komentojonotiedoston kautta.exe teloittaa.

käyttämällä PowerShell ISE

jos luot omia skriptejä tai muokkaat muita’, käytät luultavasti komentosarjaeditoria, kuten PowerShell ISE tai ehkä Visual Studio (VS) – koodia. Koska ISE tulee Windows, keskitytään tähän menetelmään tämän opetusohjelman.

käyttää komentosarjaa ISE: n kautta:

  1. siirry Käynnistä-valikkoon, etsi PowerShell ISE ja avaa se.
Search PowerShell ISE In Start Menu
Search PowerShell ISE In Start Menu

2. Napsauta Tiedosto → Avaa ja löydä komentosarjasi.

avaa skripti Tiedosto-valikkoa käyttäen
avaa skripti Tiedosto-valikkoa käyttäen

3. Kun komentosarja on auki, napsauta vihreää Suorita-painiketta suorittaaksesi komentosarjan. Tämä painike kutsuu komentosarjan sisäänrakennetussa PowerShell-päätteessä alareunassa.

aja skripti käyttäen PowerShell ISE
aja skripti käyttäen PowerShell ISE

Sample Script ’ s Output

a PowerShell script can sometimes return output. Tämä tapahtuu, kun komentosarja, jota suoritat, on rakennettu palauttamaan objektit, mikä on olennainen osa Powershellia.

jos suoritat sample GetServices. ps1-skriptin, näet seuraavan. Tämä komentosarja suorittaa Get-Service cmdlet, joka palauttaa kaikki paikalliseen Windows-tietokoneeseen asennetut palvelut.

PS> .\GetScripts.ps1Listing Computer ServicesStatus Name DisplayName------ ---- -----------Running aakore Acronis Agent Core ServiceStopped AarSvc_1b668d Agent Activation Runtime_1b668dRunning AcronisActivePr... Acronis Active Protection ServiceRunning AcronisCyberPro... Acronis Cyber Protection ServiceRunning AcrSch2Svc Acronis Scheduler2 ServiceRunning AdobeARMservice Adobe Acrobat Update ServiceRunning AdobeUpdateService AdobeUpdateServiceRunning AGMService Adobe Genuine Monitor ServiceRunning AGSService Adobe Genuine Software Integrity Se...----Truncated----

ajetaan PowerShell-skriptiä skriptin sisältä

sanotaan, että sinulla on kaksi skriptiä ja haluat toisen kutsuvan toista. Ehkä sinulla on skripti nimeltä GetUser.ps1 ja yksi nimeltään ResetPassword.ps1. sisällä GetUser. ps1, haluat suorittaa ResetPassword. ps1 nollata käyttäjän salasanan.

kutsuvan komentosarjan (GetUser.ps1) sisälle lisättäisiin rivi toisen komentosarjan toteuttamiseksi aivan kuten kutsuisit komentosarjan komentoriviltä.

alta näet pari vaihtoehtoa. Sinun pitäisi yleensä valita suorittaa toinen skripti samassa istunnossa tai laajuudessa yksinkertaistaaksesi asioita, ellei sinulla ole erityistä syytä ajaa skriptiä toisessa PowerShell-istunnossa.

## To run the other script in a new sessionpowershell.exe .\ResetPassword.ps1## To run the other script in the same session.\ResetPassword.ps1

Vastaa

Sähköpostiosoitettasi ei julkaista.