PowerShell-profiilit

Tässä opetusohjelmassa tutustumme PowerShell-profiileihin ja niiden käyttöön. PowerShell-profiilien avulla voit mukauttaa ympäristöäsi ja lisätä elementtejä jokaiseen PowerShell-istuntoon, jonka käynnistät. PowerShell-profiili on skripti, joka suoritetaan joka kerta, kun käynnistämme PowerShellin. Voit käyttää PowerShell-profiilia kirjautumisskriptinä ympäristön mukauttamiseen. Käyttämällä PowerShell-profiilia voit lisätä komentoja, aliaksia, funktioita, muuttujia, laajennuksia, moduuleja, PSDriveja ja muita istuntokohtaisia elementtejä evnironmetiin. Sinun ei tarvitse tuoda tai luoda niitä uudelleen joka kerta, kun käytät PowerShelliä. Ne ladataan automaattisesti. PowerShell tukee useita profiileja käyttäjille ja isäntäohjelmille. PowerShell ei luo profiileja puolestasi.

Jos haluat istuntokohtaisia komentoja, muuttujia, preferenssimuuttujia, aliaksia, funktioita, komentoja (paitsi Set-ExecutionPolicy) ja usein käyttämiäsi PowerShell-moduuleja, voit käyttää profiileja, jotka ladataan kaikissa tulevissa istunnoissa.

Profiilitiedostot

PowerShell-konsoli tukee seuraavia profiileja:

  • $Home\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 – Nykyinen käyttäjä, nykyinen isäntä
  • $Home\Documents\PowerShell\Profile.ps1 – Nykyinen käyttäjä, kaikki isännät
  • $PsHome\Microsoft.PowerShell_profile.ps1 – Kaikki käyttäjät, nykyinen isäntä
  • $PsHome\Profile.ps1 – Kaikki käyttäjät, kaikki isännät

Yllä olevat profiilit on esitetty tärkeysjärjestyksessä. Luettelon ensimmäisellä profiililla on korkein etusijajärjestys. Kuten yllä olevista profiileista näkyy, meillä on kaksi muuttujaa. Muuttujat $PSHome ja $Home esittävät seuraavat arvot.

  • $PSHome – Tallentaa PowerShellin asennushakemiston
  • $Home – Tallentaa nykyisen käyttäjän kotihakemiston

Muut ohjelmat, jotka isännöivät PowerShelliä, voivat tukea omia profiilejaan. PowerShell Integrated Scripting Environment (ISE) tukee seuraavia isäntäkohtaisia profiileja.

  • $Home\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1 – Nykyinen käyttäjä, nykyinen isäntä
  • $PsHome\Microsoft.PowerShellISE_profile.ps1 – Kaikki käyttäjät, nykyinen isäntä

Microsoftin mukaan PowerShellin ohjeessa ”CurrentUser, Current Host” -profiiliin viitataan useimmiten nimellä ”PowerShell-profiilisi”.

Profiilimuuttuja

PowerShellissä meillä on automaattinen muuttuja nimeltä $Profile. Kaikki PowerShell-profiilin polut, jotka ovat käytettävissä nykyisessä istunnossa, tallennetaan $Profile-muuttujaan. Tarkastelemalla $Profile-muuttujaa näet profiilin polun.

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

Muuttujan ominaisuuksien avulla voit määrittää profiilin. Windows PowerShell -konsolissa $Profile-muuttujassa on seuraavat arvot.

  • $Profile – Nykyinen käyttäjä, nykyinen isäntä
  • $Profile.CurrentUserCurrentHost – Nykyinen käyttäjä, nykyinen isäntä
  • $Profile.CurrentUserAllHosts – Nykyinen käyttäjä, kaikki isännät
  • $Profile.AllUsersCurrentHost – Kaikki käyttäjät, nykyinen isäntä
  • $Profile.AllUsersAllHosts – Kaikki käyttäjät, kaikki isännät

Muuttujaa pystyt käyttämään komennoissa.

Code:

Test-Path -Path $PROFILETest-Path -Path $PROFILE.CurrentUserCurrentHostTest-Path -Path $PROFILE.CurrentUserAllHostsTest-Path -Path $PROFILE.AllUsersCurrentHostTest-Path -Path $PROFILE.AllUsersAllHosts

Output:

Yllä olevilla komennoilla testataan, onko määritetty profiili luotu. Kuten näet, vastaus on kaikkiin niistä väärä. Kuten olemme jo aiemmin maininneet, profiileja ei luoda oletusarvoisesti. Sinun on luotava ne.

Luo profiili

Luoda profiili

Luoaksesi profiilin sinun on käytettävä seuraavaa komentoa.

Koodi:

New-Item -ItemType File -Path $profile -Force

Ylläoleva komento luo profiilin ”Nykyinen käyttäjä, nykyinen isäntä”.

Huomaa, että ylläoleva komento korvaa minkä tahansa olemassa olevan profiilin. Jos haluat varmistaa, ettet korvaa mitään jo olemassa olevaa profiilia ja menetä jo tekemiäsi muutoksia, voit kokeilla alla olevaa komentoa.

Code:

if (-not (Test-Path -Path $profile.AllUsersAllHosts)){ New-Item -ItemType File -Path $profile.AllUsersAllHosts -Force}

Yllä oleva komento tarkistaa, onko profiilia ”All Users, All Hosts” olemassa, ja jos sitä ei ole olemassa, se luo profiilin.

Profiilin luomiseksi sinun on ajettava PowerShell-konsoli järjestelmänvalvojana. Tämä pätee Windows Vistasta ja uudemmista versioista alkaen.

Profiilin muokkaaminen

Jos profiili on olemassa ja haluat tehdä siihen muutoksia tai lisäyksiä, sinun on muokattava profiilia tekstieditorilla. Käyttämällä notepadia on helppo tapa muokata profiilia.

Koodi:

notepad $profile

Kuten alla näkyy, nykyinen profiilini on konfiguroitu niin, että se antaa Tervetuloa-viestin, kun avaan konsolin.

Nyt käytän edellä mainittua komentoa soveltaakseni joitain muutoksia profiiliini.

Alhaalla ovat muutokset, joita olen soveltanut.

Sitten kun olen käynnistänyt PowerShell-konsolin uudelleen, kuten näet muutokset on sovellettu.

Profiiliohjeet

Alhaalla annan joitakin ohjeita profiilien määrittämiseen, kuten Microsoft tarjoaa.

Jos käytät useita isäntäsovelluksia, laita $Profile.CurrentUserAllHostsprofiiliisi ne kohteet, joita käytät kaikissa isäntäsovelluksissa. Laita isäntäsovelluskohtaiset kohteet, kuten komento, joka asettaa isäntäsovelluksen taustavärin, kyseistä isäntäsovellusta koskevaan profiiliin.

Jos olet järjestelmänvalvoja, 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, että siinä mainitaan PowerShell-profiilien mahdollinen erikoistoteutus.

Ei profiilia

Kaikkakin olet luonut profiileja ladattavaksi joka kerta, kun avaat konsolin, voit suorittaa PowerShellin ilman ladattavaa profiilia. Voit tehdä tämän suorittamalla PowerShellin -NoProfile-parametrilla. Tämä voidaan tehdä cmd.exe-ohjelmasta, Suorita-valintaikkunasta tai itse PowerShellistä.

Code:

PowerShell -NoProfile

Suorituskäytäntö

PowerShellin suorituskäytäntö määrittää, voitko suorittaa komentosarjoja ja ladata määritystiedostoja, myös profiileja. Suorituskäytäntö ”Rajoitettu” on oletusarvoisesti käytössä. Lisätietoja PowerShellin suorituskäytännöstä löydät täältä. Jos käytät ”Rajoitettu”-käytäntöä, se estää kaikkien komentosarjojen suorittamisen, mukaan lukien profiilit. Profiilin sisältöä ei sovelleta. Komento Set-ExecutionPolicy asettaa ja muuttaa suorituspolitiikan kaikissa PowerShell-istunnoissa, koska arvo tallennetaan rekisteriin. Sitä ei tarvitse asettaa, kun avaat konsolin, tai tallentaa Set-ExecutionPolicy-komentoa profiiliin.

Profiili etäistunnossa

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.

Jos haluamme ajaa profiilin paikallisesta tietokoneestamme etäistuntoon, meidän on käytettävä Invoke-Command-komentoa.

Alla oleva esimerkki ajaa paikallisen profiilin etäistuntoon.

Code:

$MySession = New-PSSession -ComputerName RemoteComputerInvoke-Command -Session $MySession -FilePath $profile

Output:

Koska profiilia ei täytetä etäistunnossa, voimme myös ladata etäprofiilin istuntoon. Tarkista alla oleva esimerkki.

Code:

$MySession = New-PSSession -ComputerName RemoteComputerInvoke-Command -Session $MySession -ScriptBlock {. "$env:USERPROFILE\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"}

Output:

Toivottavasti PowerShell-profiileja koskeva opetusohjelma on hyödyllinen.

Kertokaa kommenttinne ja ajatuksenne.

Palautettanne arvostetaan.

Seuraavat linkit

  • PowerShell-oppaat
  • PowerShell-skriptit
  • about_Profiles | Microsoft Docs
  • PowerShell Automaattiset muuttujat
  • PowerShell Loogiset operaattorit
  • PowerShell-suorituskäytännöt
  • Test-Path – Microsoft Docs
  • New-Item – Microsoft Docs
  • Write-Output – Microsoft Docs
  • Set-ExecutionPolicy – Microsoft Docs
  • Invoke-Command – Microsoft Docs
Yhteenveto
Artikkelin nimi
PowerShell Profiles
Kuvaus
PowerShell Profiles. Tässä opetusohjelmassa on tietoa PowerShell-profiileista ja niiden käytöstä. Stephanos Constantinou Blog
Tekijä
Stephanos
Kustantajan nimi
Stephanos Constantinou Blog
Kustantajan logo

Vastaa

Sähköpostiosoitettasi ei julkaista.