• 30.11.2017
  • 7 minuuttia luettavaa
    • S
    • s
    • x
    • q

Lyhyt kuvaus

Kuvaillaan PowerShell-profiilin luomista ja käyttöä.

Pitkä kuvaus

Voit luoda PowerShell-profiilin mukauttaa ympäristöäsi ja lisätä istuntokohtaisia elementtejä jokaiseen käynnistämääsi PowerShell-istuntoon.

PowerShell-profiili on komentosarja, joka suoritetaan, kun PowerShell käynnistetään. Voit käyttääprofiilia kirjautumisskriptinä ympäristön mukauttamiseen. Voit lisätä komentoja, aliaksia, funktioita, muuttujia, laajennuksia, moduuleja ja PowerShellrivejä. Voit myös lisätä profiiliin muita istuntokohtaisia elementtejä, jotta ne ovat käytettävissä jokaisessa istunnossa ilman, että niitä tarvitsee tuoda tai luoda uudelleen.

PowerShell tukee useita profiileja käyttäjille ja isäntäohjelmille. Se ei kuitenkaan luo profiileja puolestasi. Tässä aiheessa kuvataan profiilit, jase kuvaa, miten profiileja luodaan ja ylläpidetään tietokoneella.

Se kertoo, miten PowerShell-konsolin(PowerShell.exe) NoProfile-parametrin avulla PowerShell voidaan käynnistää ilman profiileja. Ja siinä selitetäänPowerShellin suorituskäytännön vaikutus profiileihin.

Profiilitiedostot

PowerShell tukee useita profiilitiedostoja. Myös PowerShell-isäntäohjelmat voivat tukea omia isäntäkohtaisia profiilejaan.

PowerShell-konsoli tukee esimerkiksi seuraavia perusprofiilitiedostoja. Profiilit on lueteltu tärkeysjärjestyksessä. Ensimmäisellä profiililla on korkein etusija.

Kuvaus Polku
Kaikki käyttäjät, kaikki isännät $PSHOME\Profile.ps1
Kaikki käyttäjät, nykyinen isäntä $PSHOME\Microsoft.PowerShell_profile.ps1
Kaikki käyttäjät, kaikki isännät $Home\Documents\PowerShell\Profile.ps1
Nykyinen käyttäjä, Nykyinen isäntä $Home\Documents\PowerShell\
Microsoft.PowerShell_profile.ps1

Profiilin polut sisältävät seuraavat muuttujat:

  • Muuttuja $PSHOME, johon tallennetaanPowerShellin asennushakemisto
  • Muuttuja $Home, johon tallennetaan nykyisen käyttäjän kotihakemisto

Sen lisäksi muutkin PowerShelliä isännöivät ohjelmat voivat ylläpitää omiaprofiilejaan. Esimerkiksi Visual Studio Code tukee seuraavia isäntäkohtaisia profiileja.

Kuvaus Polku
Kaikki käyttäjät, nykyinen isäntä $PSHOME\Microsoft.VSCode_profile.ps1
Nykyinen käyttäjä, Current Host $Home\Documents\PowerShell\
Microsoft.VSCode_profile.ps1

PowerShellin ohjeessa ”CurrentUser, Current Host”-profiili on profiili, johon useimmiten viitataan nimellä ”sinun PowerShell-profiilisi”.

Muuttuja $PROFILE

Automaattimuuttujaan $PROFILE tallennetaan niiden PowerShell-profiilien polut, jotka ovat käytettävissä nykyisessä istunnossa.

Profiilipolun tarkastelemiseksi näytä muuttujan $PROFILE arvo. Voit myös käyttää $PROFILE-muuttujaa komennossa edustamaan polkua.

Muuttuja $PROFILE tallentaa ”Current User, Current Host”-profiilin polun. Muut profiilit tallennetaan $PROFILE-muuttujan huomautusominaisuuksiin.

Muuttujalla $PROFILE on esimerkiksi seuraavat arvot WindowsPowerShell-konsolissa.

Kuvaus Nimi
Nykykäyttäjä, nykyinen isäntä $PROFILE
Nykykäyttäjä, Nykyinen isäntä $PROFILE.CurrentUserCurrentHost
Nykyinen käyttäjä, Kaikki isännät $PROFILE.CurrentUserAllHosts
Kaikki käyttäjät, Current Host $PROFILE.AllUsersCurrentHost
All Users, All Hosts $PROFILE.AllUsersAllHosts

Koska $PROFILE-muuttujan arvot muuttuvat jokaisella käyttäjällä ja jokaisessaHost-sovelluksessa, varmista, että näytät profiilisuureiden muuttujien arvotkaikissa käyttämissäsi PowerShellinHost-sovelluksissa.

Näyttääksesi $PROFILE-muuttujan nykyiset arvot kirjoita:

$PROFILE | Get-Member -Type NoteProperty

Voit käyttää $PROFILE-muuttujaa monissa komennoissa. Esimerkiksi seuraava komento avaa ”Nykyinen käyttäjä, nykyinen isäntä” -profiilin Notepadissa:

notepad $PROFILE

Seuraavalla komennolla määritetään, onko ”Kaikki käyttäjät, kaikki isännät” -profiili luotu paikalliseen tietokoneeseen:

Test-Path -Path $PROFILE.AllUsersAllHosts

Profiilin luominen

Luo PowerShell-profiili seuraavalla komentomuodolla:

if (!(Test-Path -Path <profile-name>)) { New-Item -ItemType File -Path <profile-name> -Force}

Luot esimerkiksi profiilin nykyiselle käyttäjälle nykyisessäPowerShell-isäntäsovelluksessa käyttämällä seuraavaa komentoa:

if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force}

Tässä komennossa If-lauseke estää olemassa olevan profiilin korvaamisen. Korvaa <profile-path> -sijoituskentän arvo sen profiilitiedoston polulla, jonka haluat luoda.

Huomautus

Luoaksesi ”Kaikki käyttäjät” -profiileja Windows Vistassa ja uudemmissaWindows-versioissa käynnistä PowerShell valinnalla Suorita järjestelmänvalvojana.

Profiilin muokkaaminen

Voit avata minkä tahansa PowerShell-profiilin tekstieditorissa, kuten Notepadissa.

Avataksesi nykyisen PowerShell-isäntäsovelluksen nykyisen käyttäjän profiilin Notepadissa kirjoita:

notepad $PROFILE

Avataksesi muita profiileja, määritä profiilin nimi. Jos haluat esimerkiksi avata kaikkien isäntäsovellusten kaikkien käyttäjien profiilin, kirjoita:

notepad $PROFILE.AllUsersAllHosts

Jos haluat ottaa muutokset käyttöön, tallenna profiilitiedosto ja käynnistä PowerShell uudelleen.

Profiilin valitseminen

Jos käytät useita isäntäsovelluksia, laita kaikissa isäntäsovelluksissa käyttämäsi kohteet $PROFILE.CurrentUserAllHosts-profiiliin. Laita isäntäsovelluskohtaiset kohteet, kuten komento, joka asettaa isäntäsovelluksen taustavärin, kyseistä isäntäsovellusta koskevaan profiiliin.

Jos olet ylläpitäjä, joka mukauttaa PowerShelliä monille käyttäjille, noudata näitä ohjeita:

  • Tallenna yleiset kohteet $PROFILE.AllUsersAllHosts-profiiliin
  • Tallenna isäntäsovelluskohtaiset kohteet isäntäsovelluskohtaisiin$PROFILE.AllUsersCurrentHost profiileihin
  • Tallenna tietyille käyttäjille tarkoitetut kohteet käyttäjäkohtaisiin profiileihin

Muista tarkistaa isäntäsovelluksen dokumentaatiosta, onko siinä mahdollisesti erikoisempia PowerShell-profiileja.

Profiilin käyttäminen

Monet PowerShellissä luodut kohteet ja useimmat suorittamasi komennot vaikuttavat vain nykyiseen istuntoon. Kun lopetat istunnon, kohteet poistuvat.

Istuntokohtaisia komentoja ja kohteita ovat muun muassa muuttujat, preferenssimuuttujat, aliakset, funktiot, komennot (paitsi Set-ExecutionPolicy) ja PowerShell-moduulit, jotka lisäät istuntoon.

Tallentaaksesi nämä kohteet ja saadaksesi ne saataville kaikissa tulevissa istunnoissa, lisää ne PowerShell-profiiliin.

Muuten profiileja käytetään usein käytettyjen funktioiden, aliaksien ja muuttujien tallentamiseen. Kun tallennat kohteet profiiliin, voit käyttää niitä missä tahansa sovellettavassa istunnossa luomatta niitä uudelleen.

Profiilin käynnistäminen

Kun avaat profiilitiedoston, se on tyhjä. Voit kuitenkin täyttää sen usein käyttämilläsi muuttujilla, peitenimillä ja komennoilla.

Tässä on muutama ehdotus, joiden avulla pääset alkuun.

Lisää komentoja, jotka helpottavat profiilisi avaamista

Tämä on erityisen hyödyllistä, jos käytät muuta profiilia kuin ”Nykyinen käyttäjä,nykyinen isäntä” -profiilia. Lisää esimerkiksi seuraava komento:

function Pro {notepad $PROFILE.CurrentUserAllHosts}

Lisää toiminto, joka luettelee minkä tahansa cmdletin aliakset

function Get-CmdletAlias ($cmdletname) { Get-Alias | Where-Object -FilterScript {$_.Definition -like "$cmdletname"} | Format-Table -Property Definition, Name -AutoSize}

Muokkaa konsoliasi

function Color-Console { $Host.ui.rawui.backgroundcolor = "white" $Host.ui.rawui.foregroundcolor = "black" $hosttime = (Get-ChildItem -Path $PSHOME\PowerShell.exe).CreationTime $hostversion="$($Host.Version.Major)`.$($Host.Version.Minor)" $Host.UI.RawUI.WindowTitle = "PowerShell $hostversion ($hosttime)" Clear-Host}Color-Console

Lisää mukautettu PowerShell-kehote

function Prompt{$env:COMPUTERNAME + "\" + (Get-Location) + "> "}

Lisätietoja PowerShell-kehotteesta on kohdassaKehotteista.

EiProfiili -parametri

Käynnistääksesi PowerShellin ilman profiileja, käytä PowerShell.exe:n, PowerShellin käynnistävän ohjelman, EiProfiili -parametria.

Avaa aluksi ohjelma, joka voi käynnistää PowerShellin, kuten Cmd.exe tai itsePowerShell. Voit myös käyttää Windowsin Suorita-valintaikkunaa.

Type:

PowerShell -NoProfile

Type:

PowerShell -NoProfile

Luettelon PowerShell.exe:n parametreista saat kirjoittamalla:

PowerShell -?

Profiilit ja suorityskäytäntö

PowerShellin suorityskäytäntö määrittelee osittain, voitko ajaa komentosarjoja ja ladata konfiguraatiotiedostoja, profiileja mukaan lukien. Restrictedexecution-käytäntö on oletusarvoisesti käytössä. Se estää kaikkien skriptien suorittamisen,mukaan lukien profiilit. Jos käytät ”Rajoitettu”-käytäntöä, profiilia ei suoriteta, eikä sen sisältöä sovelleta.

Komento Set-ExecutionPolicy asettaa ja muuttaa suorituskäytäntöä. Se onyksi niistä harvoista komennoista, joita sovelletaan kaikissa PowerShell-istunnoissa, koska arvo tallennetaan rekisteriin. Sitä ei tarvitse asettaa, kun avaat konsolin, eikä Set-ExecutionPolicy-komentoa tarvitse tallentaa profiiliin.

Profiilit ja etäistunnot

PowerShell-profiileja ei ajeta automaattisesti etäistunnoissa, joten profiilien lisäämiä komentoja ei ole etäistunnossa. Lisäksi $PROFILE automaattista muuttujaa ei täytetä etäistunnoissa.

Käyttääksesi profiilia istunnossa, käytä Invoke-Commandcmdletia.

Esimerkiksi seuraava komento suorittaa ”Current user, Current Host”-profiilin paikallisesta tietokoneesta istunnossa $s.

Invoke-Command -Session $s -FilePath $PROFILE

Seuraava komento suorittaa ”Current user, Current Host”-profiilin etätietokoneesta istunnossa $s. Koska $PROFILE-muuttujaa ei ole täytetty, komento käyttää profiilin nimenomaista polkua. Käytämme dotsourcing-operaattoria, jotta profiili suoritetaan etätietokoneen nykyisessä laajuudessa eikä omassa laajuudessaan.

Invoke-Command -Session $s -ScriptBlock { . "$HOME\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"}

Tämän komennon suorittamisen jälkeen komennot, jotka profiili lisää istuntoon, ovat käytettävissä $s:ssa.

Katso myös

Automaattisista_muuttujista

Toiminnoista

Prompteista

Suorituskäytännöistä

Allekirjoittamisesta

Kauko-osoitteesta

Scopesista

Set-ExecutionPolicy

.

Vastaa

Sähköpostiosoitettasi ei julkaista.