- 30.11.2017
- 7 minuuttia luettavaa
-
- S
- s
- x
- q
- Lyhyt kuvaus
- Pitkä kuvaus
- Profiilitiedostot
- Muuttuja $PROFILE
- Profiilin luominen
- Profiilin muokkaaminen
- Profiilin valitseminen
- Profiilin käyttäminen
- Profiilin käynnistäminen
- Lisää komentoja, jotka helpottavat profiilisi avaamista
- Lisää toiminto, joka luettelee minkä tahansa cmdletin aliakset
- Muokkaa konsoliasi
- Lisää mukautettu PowerShell-kehote
- EiProfiili -parametri
- Profiilit ja suorityskäytäntö
- Profiilit ja etäistunnot
- Katso myös
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
.