Jaa tämä viesti:
PowerShell-profiili on komentosarja, joka käynnistyy PowerShellin käynnistyessä ja jolla on tietty nimi.
PowerShell tukee useita profiileja käyttäjille ja isäntäohjelmille. Kun puhumme isäntäohjelmista, ajattelemme ensisijaisesti Windows PowerShell Consolea ja Windows PowerShell ISE:tä. Se ei kuitenkaan luo profiileja puolestasi, joten jatka tämän artikkelin lukemista ja näytän sinulle, miten profiileja luodaan ja muokataan mahtavien esimerkkien avulla.
Voimme luoda 3 profiilitiedostoa jokaiselle järjestelmässä olevalle käyttäjälle, yhden jokaiselle isäntäohjelmalle (Windows PowerShell Console ja ISE) ja yhden kaikille isäntäohjelmille.
Lisäksi on mahdollista luoda 3 profiilitiedostoa kaikille käyttäjille, jos haluamme soveltaa joitain kaikkiin käyttäjiin sovellettavia mukautuksia.
TÄRKEÄÄ: Jos sinulla on erillinen asennus PowerShellin versiosta 6, voimme luoda 4 lisäprofiilia. Kaksi profiilitiedostoa käyttäjäkohtaisesti ja kaksi profiilitiedostoa kaikille käyttäjille.
Sisällysluettelo
PowerShellin profiilikomennot, isännät, profiilien nimet, profiilien sijainnit
Tässä taulukossa näkyvät profiilityypit, komento, jolla voidaan testata, onko profiilia olemassa, ja jonka avulla voimme halutessamme luoda niitä, mitä isäntää tämä profiili koskee, profiilitiedoston nimi ja profiilitiedoston sijainti.
# | Profiilin tyyppi | Komento | Host | Profiilitiedoston nimi | Profiilitiedoston sijainti |
---|---|---|---|---|---|
1* | Virtaava käyttäjä, Current Host | $profile | Console | Microsoft.PowerShell_profile.ps1 | $HOME\ Documents\WindowsPowerShell\ |
2 | Kaikki käyttäjät, nykyinen isäntä | $profile.AllUsersCurrentHost | Console | Microsoft.PowerShell_profile.ps1 | $PSHOME\ |
3 | Current User, All Hosts | $profile.CurrentUserAllHosts | Console, ISE | Profile.ps1 | $HOME\ Documents\WindowsPowerShell\ |
4 | All Users, All Hosts | $profile.AllUsersAllHosts | Konsoli, ISE | Profile.ps1 | $PSHOME\ |
5** | Virranomainen käyttäjä, Nykyinen isäntä | $profile | ISE | Microsoft.PowerShellISE_profile.ps1 | $HOME\ Documents\WindowsPowerShell\ |
6** | Kaikki käyttäjät, Nykyinen isäntä | $profile.AllUsersCurrentHost | ISE | Microsoft.PowerShellISE_profile.ps1 | $PSHOME\ |
Taulukko 1 – PowerShellin profiilityypit, komennot, isännät, tiedostojen nimet, tiedostojen sijainnit
* $profilen sijasta voimme käyttää $profile.CurrentUserCurrentHost-komentoa.
** Suorita komento Windows PowerShell ISE -konsolista.
Muuttujien $HOME ja $PSHOME oikeiden arvojen löytämiseksi PowerShell-asennuksestasi suorita seuraavat komennot:
$HOME
Vakiintuneesti $HOME:n arvo on C:\Users\käyttäjänimi
$PSHOME
Vakiintuneesti $PSHOME:n arvo on C:\Windows\System32\WindowsPowerShell\v1.0
MUISTUTUS: Jos sinulla on erillinen asennus PowerShellin versiosta 6, voimme luoda lisäprofiileja. Kaksi per nykyinen käyttäjä ja kaksi kaikille käyttäjille.
# | Profiilin tyyppi | Komento | Host | Profiilitiedoston nimi | Profiili Tiedoston sijainti | |
---|---|---|---|---|---|---|
1 | CurrentUserCurrentHost | $profile | Console | Microsoft.PowerShell_profile.ps1 | $HOME\ Documents\PowerShell\ | |
2 | CurrentUserAllHosts | $profile.CurrentUserAllHosts | profile.ps1 | $HOME\ Documents\PowerShell\ | ||
3 | AllUsersCurrentHost | $profile.AllUsersCurrentHost | Console | Microsoft.PowerShell_profile.ps1 | $PSHOME\ | |
4 | AllUsersAllHosts | $profile.AllUsersAllHosts | profile.ps1 | $PSHOME\ |
Taulukko 2 – PowerShell v6 Profiilityypit, komennot, isännät, tiedostonimet, tiedostojen sijainnit
Vakiintuneesti $HOME:n arvo on C:\Users\user_name
Usually, value for $PSHOME is C:\Program Files\PowerShell\6
Huomautus: Dokumenttien kansioiden nimien ero PowerShell v6:n kansiossa on PowerShell ja aiempien PowerShell-versioiden kansioiden nimi on WindowsPowerShell.
PowerShell-profiilin luominen vaihe vaiheelta
Tässä näytän tarkalleen, miten PowerShell-profiili luodaan.
PowerShell-profiilin luominen nykyiselle käyttäjälle ja nykyiselle isäntäkoneelle
Tämä on oletusarvoinen Windows PowerShell-profiili.
Seuraa näitä vaiheita luodaksesi PowerShell-profiilin konsolille isäntänä ja nykyiselle käyttäjälle:
Vaihe 1: Avaa Windowsin PowerShell-konsoli (nykyinen isäntä).
Vaihe 2: Ensin testataan, onko profiili olemassa PowerShell-asennuksessamme vai ei. Kirjoitetaan seuraava komento Window PowerShell-konsoliin ja painetaan ENTER-näppäintä.
Test-Path $PROFILE
MUISTUTUS: Parametrin arvo Test-Path CmdTaulukosta 2 – Komento-sarakkeesta saadaan. ($profile, $profile.CurrentUserAllHosts, jne)
Vaihe 3: Jos edellisen komennon tulos on false, profiilia ei ole olemassa, joten siirry vaiheeseen 4. Jos tulos on true, profiilitiedosto on olemassa, joten siirry vaiheeseen 5
Vaihe 4: Koska profiilia ei ole olemassa, luomme sellaisen seuraavalla komennolla, jonka kirjoitat ja painat ENTER.
New-Item -Type File -Force $PROFILE
Vaihe 5: Profiili on luotu ja voimme avata profiilitiedoston PowerShell ISE:ssä seuraavalla komennolla PowerShell ISE:ssä, jonka kirjoitamme ja painamme ENTER.
ise $PROFILE
Vaihe 6: Tyhjä profiilitiedosto on avattu Windows PowerShell ISE:ssä
Vaihe 7: Jatka esimerkkiin 1 nähdäksesi, miten tätä profiilia mukautetaan.
PowerShell-profiilin luominen nykyiselle käyttäjälle ja kaikille isännille
Seuraa seuraavia vaiheita PowerShell-profiilin luomiseksi:
Vaihe 1: Avaa Windows PowerShell Console (Tämä on vain valitsemasi isäntä komentojen suorittamiseksi, ja voimme tehdä nämä vaiheet myös Windows PowerShell ISE:stä käsin).
Vaihe 2: Ensin testataan, onko Profiili olemassa tai ei olekaan PowerShell-asennuksessa. Kirjoitetaan seuraava komento Window PowerShell-konsoliin ja painetaan ENTER-näppäintä.
Test-Path $PROFILE.CurrentUserAllHosts
MUISTUTUS: Parametrin arvo Test-Path CmdTaulukosta 2 – Komentosarake. ($profile, $profile.CurrentUserAllHosts, jne)
Vaihe 3: Jos edellisen komennon tulos on false, profiilia ei ole olemassa, joten siirry vaiheeseen 4. Jos tulos on true, profiilitiedosto on olemassa, joten siirry vaiheeseen 5
Vaihe 4: Koska profiilia ei ole olemassa, luomme sellaisen seuraavalla komennolla, jonka kirjoitat ja painat ENTER.
New-Item -Type File -Force $PROFILE.CurrentUserAllHosts
Vaihe 5: Profiili on luotu ja voimme avata profiilitiedoston PowerShell ISE:ssä seuraavalla komennolla ja painaa ENTER.
ise $PROFILE.CurrentUserAllHosts
Vaihe 6: Tyhjä profiilitiedosto on avattu Windows PowerShell ISE:ssä
Vaihe 7: Jatketaan esimerkillä 2, jotta nähdään, miten profiilia voidaan mukauttaa.
Toistetaan prosessi muille profiilityypeille ainoa asia on käyttää oikeaa muuttujan arvoa komento-sarakkeessa taulukosta 1 – PowerShellin profiilityypit, komennot, isännät, tiedostonimet, tiedostojen sijainnit.
- $profile.AllUsersCurrentHost
- $profile.AllUsersAllHosts
REMINT: Kun haluat luoda profiilin Windows PowerShell ISE:lle isäntänä, sinun on avattava Windows PowerShell ISE ja seurattava vaiheita suorittamalla komennot Windows PowerShell ISE -konsolista (katso alla oleva kuvakaappaus)
Windows PowerShell -profiilin muokkaaminen esimerkkien avulla
Esimerkki 1 – Konsolin profiili isäntänä ja nykyiselle käyttäjälle (Nykyinen käyttäjä – Nykyinen isäntä)
Profiilin nimi: Microsoft.PowerShell_profile.ps1
Profiilin sijainti: $Home\Documents\WindowsPowerShell\
Käytetään: Microsoft.PowerShell_profile.ps1
Profiilin nimi: Microsoft: Tässä esimerkissä olen muuttanut fontin taustavärit luettavammiksi.
Tässä on Microsoft.PowerShell_profile.ps1-profiilitiedoston koodi. Kopioi vain koodi profiilitiedostoon ja tallenna muutokset, jotta saat saman väriskaavan tai muokkaat sen haluamaksesi.
Set-PSReadLineOption -colors @{ Operator = 'Cyan' Parameter = 'Cyan' String = 'White'}
Joissain vanhemmissa järjestelmissä Set-PSReadLineOption CmdLet-asetus oli hieman erilainen kuten alla olevassa esimerkissä.
Set-PSReadlineOption -TokenKind String -ForegroundColor MagentaSet-PSReadlineOption -TokenKind Operator -ForegroundColor CyanSet-PSReadlineOption -TokenKind Parameter -ForegroundColor Cyan
Fontin värit on muutettu tästä…
…tähän.
Käytä Get-PSReadLineOption CmdLet nähdäksesi kelvolliset Color Arguments (väriargumentit) ja nykyiset argumenttiarvot (värit).
Esimerkki 2 – Profiili sekä Windows PowerShell -konsolia että ISE:tä varten isäntäkoneina (Nykyinen käyttäjä – Kaikki isännät)
Profiilin nimi: profile.ps1
Profiilin sijainti: $Koti\Dokumentit\WindowsPowerShell\
Käytetään seuraaviin tarkoituksiin: Windows PowerShell\
Varustetaan:
Tässä esimerkissä lataan omat PowerShell-moduulini joillekin kirjoittamilleni CmdLeteille, jotka ovat osa Efficiency Booster PowerShell -projektia. Tämä projekti on kirjasto omista CmdLeteistäni, jotka on järjestetty useisiin moduuleihin, ja suosittelen lämpimästi lataamaan projektitiedostojen zip-tiedoston ja testaamaan sitä omassa ympäristössäsi, jotta voit seurata minua tämän blogin artikkeleissa.
Tässä ovat komennot moduulien ja profiilitiedoston sisällön tuomiseksi.
Import-Module 02utilsImport-Module 03commonImport-Module 04maintenance
Voidaan nopeasti testata, että tuodut moduulit todella ladataan, kun avataan PowerShell-konsoli seuraavalla komennolla:
Get-Module -ListAvailable
Ymmärtääksemme paremmin PowerShell-profiilien, moduulien ja CmdLetien linkittämistä toisiinsa lukekaa tämän postauksen seuraava alaotsikko Kuinka järjestää omat PowerShellin CmdLetit PowerShell-moduuleihin ja minkä profiilin avulla tuo rakenne järjestetään ja Kuinka linkitämme yhteen PowerShell-profiilin, -moduulin ja -CmdLetin.
Esimerkki 3 – Profile for ISE as Host (Current User – Current Host)
Profile Name: Microsoft.PowerShellISE_profile.ps1
Profiilin sijainti: $Home\Documents\WindowsPowerShell\
Käytetään seuraaviin tarkoituksiin: Tässä esimerkissä olen tuonut moduulin, joka pitää sisällään CmdLetit, jotka ovat Window PowerShell ISE:n lisäosia.
Tässä on komento, joka on kopioitava profiilitiedostoon.
Import-Module 09addons
Lopputuloksena meillä on Windows PowerShell ISE:ssä kaksi lisäosaa. Lue nämä kaksi artikkelia, jotta tiedät enemmän siitä, miten ne koodataan.
- How To Write Advanced Functions Or CmdLet’s With PowerShell (Fast)
- How To Write PowerShell Function’s Or CmdLet’s Help (Fast)
Voidaan nopeasti testata, että tuodut moduulit todella ladataan, kun avataan PowerShell-konsoli seuraavalla komennolla:
Get-Module -ListAvailable
Huomautus: Windows PowerShell ISE Tuo neljä mallia kahdesta profiilitiedostosta ( profile.ps1 ja Microsoft.PowerShellISE_profile.ps1 ).
Esimerkki 4 – Profiili sekä Windows PowerShell -konsolia että ISE:tä varten isäntänä (Kaikki käyttäjät – Kaikki isännät)
Profiilin nimi: profile.ps1
Profiilin sijainti: $PSHOME\
Käytetään: Tässä esimerkissä olen muuttanut vain ikkunan PowerShell-konsolin ja ISE:n otsikon sekä Current Userille että Administratorille.
Tässä on Profile-tiedoston koodi:
$NTIdentity = ::GetCurrent()$NTPrincipal = new-object Security.Principal.WindowsPrincipal $NTIdentity$IsAdmin = $NTPrincipal.IsInRole(::Administrator)$hostversion="v$($Host.Version.Major).$($Host.Version.Minor)"$hostname = $host.NameIF ($IsAdmin){ if($hostname -eq "ConsoleHost") { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell $hostversion - Running as ADMINISTRATOR" } else { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell ISE $hostversion - Running as ADMINISTRATOR" }}Else{ if($hostname -eq "ConsoleHost") { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell $hostversion" } else { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell ISE $hostversion" }}
Voit nähdä, että sekä PowerShell-konsolin että ISE:n otsikoissa on mukautettu teksti, isännän nimi ja PowerShellin versio otsikossa.
Hyödyllisiä PowerShell-komentoja profiileihin liittyen
Tässä on muutamia hyödyllisiä PowerShell-komentoja, joiden avulla saat tietoa profiileista.
Minkä tahansa profiilikomennon suorittamisen tuloksena saat profiilitiedoston sijainnin.
$profile$profile.AllUsersCurrentHost$profile.CurrentUserAllHosts$profile.AllUsersAllHosts
TÄRKEÄÄ: Kun haluat löytää profiilitiedoston sijainnin Windows PowerShell ISE:lle isäntänä, sinun on avattava Windows PowerShell ISE ja suoritettava profiilikomennot Windows PowerShell ISE:n konsolista
Käyttämällä Test-Path-komentoa (Test-Polku CmdLet) voit tarkastaa, onko profiilitiedostoa olemassa järjestelmässä vai ei. Jos saat tulokseksi True profiili on olemassa ja false tarkoittaa, että profiilitiedostoa ei ole olemassa. Käytä komentoja taulukosta 1 – PowerShellin profiilityypit, komennot, isännät, tiedostonimet, tiedostojen sijainnit muiden profiilityyppien tarkistamiseen riippumatta siitä, onko niitä olemassa vai ei.
Test-Path $PROFILE
Tämä koodirivi luo profiilitiedoston. Käytä komentoja taulukosta 1 – PowerShellin profiilityypit, komennot, isännät, tiedostonimet, tiedostojen sijainnit luodaksesi muita profiilityyppejä.
New-Item -Type File -Force $PROFILE.CurrentUserAllHosts
Jos haluat lukea profiilitiedoston sisällön joko Notepadissa tai Window PowerShell ISE:ssä, käytä näitä kahta komentoa.
ise $PROFILEnotepad $PROFILE
Henkilökohtaisesti pidän enemmän Windows PowerShell ISE:stä, koska se on kätevämpi ympäristö PowerShell-koodin kirjoittamiseen.
Käytä tätä koodiriviä saadaksesi profiilien sijainnit kaikille profiilityypeille.
$profile | Get-Member -Type NoteProperty | Select-Object Definition
Tarkista nämä kaksi muuttujaa saadaksesi PowerShellin asennus- ja kotihakemiston sijainnin.
$pshome$home
Kuinka valita käytettävä profiilitiedosto
Jos käytät useita isäntäsovelluksia, kuten Windows PowerShell Consolea ja ISE:tä, laita kaikki mukautukset nykyisen kirjautuneen käyttäjän profiiliin $PROFILE.CurrentUserAllHosts. Olen esimerkiksi luonut omat CmdLets-ohjelmat, jotka on järjestetty moduuleihin, joten laitan komennot näiden moduulien lataamiseksi tähän profiiliin, koska haluan, että moduulit ladataan sekä PowerShell-konsolin että ISE:n avaamisen yhteydessä. Katso esimerkki 2 havainnollistamiseksi.
Jos haluat tehdä erityisiä mukautuksia isäntäsovellukseen, laita kaikki mukautuskoodi kyseistä isäntäsovellusta koskevaan profiiliin. Esimerkiksi muutan PowerShell Consolen fonttien taustaväriä, jotta ne näkyvät paremmin, tai olen ladannut moduuleja, jotka ovat ISE:n lisäosia. Olen näyttänyt tämän esimerkissä 1 PowerShell Consolea varten ja esimerkissä 3 PowerShell ISE:tä varten.
Jos sinun täytyy muokata PowerShelliä monille käyttäjille ja olet järjestelmänvalvoja, niin noudata seuraavia vinkkejä:
- Tallenna yleisimmät mukautukset $PROFILEen.AllUsersAllHosts -profiiliin, koska se on laajin
- Jos haluat mukauttaa Windows PowerShellin kaikille käyttäjille, mutta isäntäsovelluskohtaisesti. Esimerkiksi erilainen räätälöinti Windows PowerShell Consolea varten ja toinen räätälöinti Windows PowerShell ISE:tä varten, niin laita koodi $PROFILE.AllUsersCurrentHost-profiileihin
- Kirjoita koodi tietyille käyttäjille käyttäjäkohtaisiin profiileihin. Periaatteessa tämä tarkoittaa joko $PROFILE.CurrentUserAllHosts tai $PROFILE.CurrentUserCurrentHost -profiilin käyttämistä.
Kuinka suorittaa konsoli tai ISE ilman ladattuja profiileja
Avaa suorita-valintaikkuna Win + R ja avaa PowerShell vaihtoehdolla -NoProfile.
PowerShell.exe -NoProfile
Varoitus: PowerShellin latausaika
Kun käytössä on suurempi ja monimutkaisempi profiili, se voi alkaa vaikuttaa siihen, kuinka nopeasti PowerShell avautuu. Voit selvittää vianmääritystä varten, onko profiilisi vastuussa PowerShellin huonoista latausajoista, avaamalla suoritusvalintaikkunan Win + R ja avaamalla PowerShellin vaihtoehdolla -NoProfile.
PowerShell.exe -NoProfile
Profiilit ja etäistunnot
PowerShellin profiileja ei ajeta automaattisesti etäistunnoissa, joten profiileihin lisätyt komennot eivät ole läsnä etäistunnossa. Lisäksi automaattista $PROFILE-muuttujaa ei täytetä etäistunnoissa.
Profiilin ajaminen istunnossa tapahtuu Invoke-Command CmdLet -komennolla.
Esimerkiksi seuraava komento ajaa ”Nykyinen käyttäjä, nykyinen isäntä” -profiilin paikallisesta tietokoneesta istunnossa $s.
Invoke-Command -Session $s -FilePath $PROFILE
Omien PowerShell CmdLetien järjestäminen PowerShell-moduuleihin ja -profiileihin
Jotta ymmärtäisit PowerShell-profiilin, moduulin ja CmdLetien välisen yhteyden, olen luonut Efficiency Booster PowerShell -projektin, jossa on paljon omia CmdLet-ohjelmiani, jotka on järjestetty useisiin moduuleihin, jotka ladataan jokaiseen PowerShell-istuntoon, jossa on mukana PowerShell-profiili, milloin tahansa avaankin Windows-powerShell-konsolin tai -ISEn.
Lataa rohkeasti zip-tiedosto, joka sisältää projektin koodin, jotta voit helposti seurata mukana. ReadMe.txt-tiedostossa on selitys asennus- ja muokkausvaiheista, joten lue kyseisen tiedoston ohjeet. Vielä paremmin voit lukea asennus- ja muokkausohjeet lukemalla seuraavan artikkelin How To Install And Configure PowerShell: CmdLets, Modules, Profiles.
Käytän kirjakaupan, kirjahyllyn ja kirjojen analogiaa selittääkseni Powershell Profile, Module ja CmdLet -profiilin, moduulin ja CmdLet -profiilin välisen yhteyden.
Kuvitellaan esimerkiksi, että haluaisit oppia lisää PowerShell-skriptiohjelmoinnista ja haluaisit ostaa joitakin kirjoja aiheesta kirjakaupasta.
Kävellessäsi kirjakauppaan näet monia hyllyjä, joissa on erilaisia tarroja kirjaosastoille, kuten Taide, Liiketalous, Tietokoneet, Kirjallisuus, Matkailu jne. Tietenkin kävelet hyllylle, jossa on merkintä Tietokoneet, ja löydät sieltä kirjan, jossa selitetään PowerShell Scripting, jonka haluat ostaa.
Palaamme nyt PowerShellin maailmaan ja yhdistämme analogiatarinan PowerShelliin:
- CmdLet, jota käytämme PowerShellin mukana toimitettuna, tai jokin itse kirjoittamamme CmdLet, on kirja.
- Tuon CmdLetin koodi on kirjan sisältö.
- PowerShell-moduuli on jonkin kirjakaupan osaston kirjahylly, kuten esimerkiksi Tietokoneet-kirjakaupan osaston hylly, johon kirjamme on laitettu.
- Lopuksi PowerShell-profiili on itse kirjakauppa.
Joka kerta kun avaamme Windows PowerShell konsolin tai ISE:n, avaamme istuntomme ja tämän istunnon mukana ladattavat profiilitiedostot ja räätälöinnit on tehty, jotta PowerShell-ympäristömme voidaan asettaa haluamallamme tavalla.
Moduulien ja CmdLetien kohdalla. Profiilitiedosto tuo moduulit ja Moduuli lataa jokaisen CmdLet-skriptin, joka kuuluu kyseiseen Moduuliin.
Koska haluan käyttää omia CmdLet-skriptejäni sekä Windows PowerShell -konsolissa että ISE-isäntäsovelluksissa, luon mieluummin $profile.CurrentUserAllHosts -profiilityyppi, joka ei ole muuta kuin Profile.ps1-tiedosto, joka on luotu:
- $Home\ Documents\WindowsPowerShell\-kansioon PowerShell-versiolle 5.1 ja vanhemmille
- $Home\ Documents\PowerShell\-kansioon PowerShell-versiolle 6.0.
Miten linkitämme yhteen PowerShell-profiili, moduuli, Ja CmdLet
Tässä on lyhyt kuvaus tuosta PowerShellissä tehdystä rakenteesta
- Luo PowerShell-profiili
- Luo Moduulikansio ja tiedostorakenne
- Muokkaa profiilia tuomaan tarvittavat moduulit
- Luo CmdLet PowerShell-skripti
- Kirjoita oma CmdLet-toimintokoodi
- Muokkaa Moduulitiedosto tuomaan CmdLet-skripti
.
Kuvitan tämän prosessin Efficiency Boosterin PowerShell-projektin esimerkeillä profiilista, Modules ja CmdLet, jotta kenenkään on helpompi ymmärtää koko prosessi. Kannustan siis jälleen kerran lämpimästi kaikkia asentamaan toimitetun zip-tiedoston.
Seuraa näitä vaiheita luodaksesi PowerShell-profiilin, -moduulin, -CmdLetin ja linkittääksesi ne toisiinsa:
Vaihe 1: Avaa Windowsin PowerShell-konsoli
Vaihe 2: Ensin testataan, onko Profiili olemassa PowerShell-asennuksessamme vai ei. Kirjoita Window PowerShell-konsoliin seuraava komento ja paina ENTER
Test-Path $PROFILE.CurrentUserAllHosts
Vaihe 3: Jos edellisen komennon tulos on false, profiilia ei ole olemassa, joten siirry vaiheeseen 4. Jos tulos on tosi, profiilitiedosto on olemassa, joten siirry vaiheeseen 5
Vaihe 4: Koska profiilia ei ole olemassa, luomme sen seuraavalla komennolla, joka kirjoitetaan ja painetaan ENTER.
New-Item -Type File -Force $PROFILE.CurrentUserAllHosts
Vaihe 5: Profiili on luotu ja voimme avata profiilitiedoston PowerShell ISE:ssä seuraavalla komennolla ja painetaan ENTER.
ise $PROFILE.CurrentUserAllHosts
Vaihe 6: Profiilitiedosto on avattu PowerShell ISE:ssä.
Vaihe 7: Nyt meidän on luotava Moduuli-kansiorakenne ja tarvittavat tiedostot.
Vaihe 8: Kansioon, johon loimme profiilitiedostomme, luodaan Moduuli-kansio tarkalla nimellä Modules. Tässä säilytämme kaikkien Moduulien kansiorakennetta.
Vaihe 9: Moduulit-kansioon luodaan kansiot jokaiselle haluamallesi Moduulille. Olen esimerkiksi luonut Efficiency Booster PowerShell Project -projektiin seuraavat moduulit:
Step 10: Jokaiseen Moduulikansioon luodaan tiedosto, jonka tiedostopääte on .psm1 ja jonka nimi on täsmälleen sama kuin Moduulikansion nimi. Esimerkiksi 03common-kansioon luomme tiedoston 03common.psm1
Vaihe 11: Vaihtoehtoisesti voimme luoda manifest-tiedoston (.psd1-päätteinen) jokaiselle moduulille, joka kuvaa tarkemmin kyseistä kansiota.
Vaihe 12: Samaan moduulikansioon luomme .ps1-päätteisen tiedoston (tavallinen PowerShell-skriptitiedosto), johon kirjoitamme oman CmdLet-koodimme. Voimme esimerkiksi luoda GetCPUInfo.ps1-tiedoston, johon kirjoitamme koodin omalle Get-CPUInfo CmdLetillemme.
Vaihe 13: Nyt olemme valmiita kirjoittamaan oman CmdLet-koodin ja skriptin. Tutustu vapaasti esimerkkiin Get-CPUInfo ja muihin Efficiency Booster PowerShell -projektin CmdLeteihin. Tulevissa viesteissä kirjoitan tarkemmin jokaisesta projektin CmdLetistä. Lataa toistaiseksi projektin lähdekoodi täältä.
Vaihe 14: Linkitä CmdLet-skripti oikeaan PowerShell-moduuliin. Avaa moduulin .psm1-tiedosto ja kirjoita tämä koodirivi:
. $psScriptRoot\NameOfCmdLetScriptFile.ps1
Kirjoitetaan esimerkiksi Get-CPUInfo CmdLetille tämä koodirivi tiedostoon 03common.psm1-tiedosto:
. $psScriptRoot\GetCPUInfo.ps1
Vaihe 15: Profiili-skriptitiedostossa tuomme moduulin, joka sisältää CmdLet-skriptitiedostomme, joten kirjoitamme tämän komennon profiilitiedostoon.
Import-Module ModuleName
Esimerkiksi Get-CPUInfo CmdLet-skriptimme on osa 03common-moduulia, joten kirjoitamme tämän koodin profiiliin:
Import-Module 03common
Vaihe 16: Toistamme vaiheet 9 -15 jokaiselle Moduulillemme ja CmdLetillemme, jotka haluamme sisällyttää profiiliimme ja jotka ladataan jokaisella käynnistämämme PowerShell-istunnon yhteydessä.
Vaihe 17: Testaamme, että kaikki tuodut moduulit ladataan, kun avaamme tietyn isännän. Voimme listata moduulit seuraavalla komennolla:
Get-Module -ListAvailable
Vaihe 18: Voimme testata, että kaikki kunkin moduulin sisältämät CmdLetit on ladattu ympäristöön. Tässä on hyödyllinen esimerkkikomento:
Get-Command -Module 02utils
Hyödyllisiä PowerShell-profiiliartikkeleita
.