Del dette indlæg:

En PowerShell-profil er et script, der kører, når PowerShell starter, og som har et bestemt navn.

PowerShell understøtter flere profiler for brugere og værtsprogrammer. Når vi siger værtsprogrammer, tænker vi primært på Windows PowerShell Console og Windows PowerShell ISE. Den opretter dog ikke profilerne for dig, så læs videre i denne artikel, og jeg vil vise dig, hvordan du opretter og tilpasser profiler med fantastiske eksempler.

Vi kan oprette 3 profilfiler for hver bruger på systemet, en for hver vært (Windows PowerShell Console og ISE) og en for alle værter.

Dertil kommer, at det er muligt at oprette 3 profilfiler for alle brugere, hvis vi ønsker at anvende nogle tilpasninger, der gælder for alle brugere.

VIGTIGT: Hvis du har en separat installation af PowerShell version 6, kan vi oprette yderligere 4 profiler. To profilfiler pr. bruger og to profilfiler til alle brugere.

Indholdsfortegnelse

PowerShell-profilkommandoer, værter, profilnavne, profilplaceringer

Her er en tabel, der viser profiltyper, kommando, der kan bruges til at teste, om der findes en profil, og oprette dem, hvis vi ønsker det, hvilken vært denne profil gælder for, navnet på profilfilen og placering af profilfilen.

# Profiltype Kommando Host Navn på profilfilen Profilfilens placering
1* Aktuel bruger, Nuværende vært $profile Konsol Microsoft.PowerShell_profile.ps1 $HOME\ Documents\WindowsPowerShell\
2 Alle brugere, nuværende vært $profile.AllUsersCurrentHost Console Microsoft.PowerShell_profile.ps1 $PSHOME\
3 Current User, All Hosts $profile.CurrentUserAllHosts Console, ISE Profile.ps1 $HOME\ Documents\WindowsPowerShell\
4 Alle brugere, alle værter $profile.AllUsersAllHosts Konsol, ISE Profile.ps1 $PSHOME\
5** Aktuel bruger, Aktuel vært $profile ISE Microsoft.PowerShellISE_profile.ps1 $HOME\ Documents\WindowsPowerShell\
6** Alle brugere, Nuværende vært $profile.AllUsersCurrentHost ISE Microsoft.PowerShellISE_profile.ps1 $PSHOME\

Tabel 1 – PowerShell-profiltyper, kommandoer, værter, filnavne og filplaceringer

* I stedet for $profile kan vi bruge $profile.CurrentUserCurrentHost-kommandoen.

** Kør kommandoen fra Windows PowerShell ISE-konsollen.

For at du kan finde de korrekte værdier for variablerne $HOME og $PSHOME på din installation af PowerShell, skal du køre følgende kommandoer:

$HOME

Værdien for $HOME er som regel C:\Users\user_name

$HOME value
$PSHOME

Værdien for $PSHOME er normalt C:\Windows\System32\WindowsPowerShell\v1.0

$PSHOME-værdi

HUSK: Hvis du har en separat installation af PowerShell version 6, kan vi oprette yderligere profiler. To pr. aktuel bruger og to for alle brugere.

# Profiltype Kommando Host Profil-filnavn Profile File Name Profile Filplacering
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\

Tabel 2 – PowerShell v6 Profiltyper, kommandoer, værter, filnavne, filplaceringer

Værdien for $HOME er som regel C:\Users\user_name

$HOME-værdi for PowerShell v6

Værdien for $PSHOME er normalt C:\Program Files\PowerShell\6

$PSHOME-værdi for PowerShell v6

BEMÆRK: Forskellen mellem mappenavne i Documents PowerShell v6-mappen er PowerShell og tidligere PowerShell-versioners mappenavn er WindowsPowerShell.

Sådan oprettes PowerShell-profil trin for trin

Her vil jeg vise dig præcis, hvordan du opretter en PowerShell-profil.

Skabelse af en PowerShell-profil for nuværende bruger og nuværende vært

Dette er standard Windows PowerShell-profilen.

Følg disse trin for at oprette en PowerShell-profil for konsollen som vært og nuværende bruger:

Stræk 1: Åbn Windows PowerShell-konsollen (nuværende vært).

Window PowerShell Console

Stræk 2: Først vil vi teste, om Profil findes eller ej i vores PowerShell-installation. Skriv følgende kommando i Window PowerShell-konsollen, og tryk på ENTER.

Test-Path $PROFILE

HUSK: Parameterværdi for Test-Path CmdLad os hente fra Tabel 2 – Kommandokolonne. ($profile, $profile.CurrentUserAllHosts, osv)

Strin 3: Hvis resultatet af den foregående kommando er falsk, findes profilen ikke, så gå til trin 4. Hvis resultatet er sandt, findes profilfilen, så gå til trin 5

Profilfilfilen findes ikke (false)

Strg 4: Da Profilen ikke findes, vil vi oprette en med følgende kommando, som du skriver og trykker ENTER.

New-Item -Type File -Force $PROFILE
Profilfilfilen er oprettet
Microsoft.PowerShell_profile.ps1 – Profil for den aktuelle bruger og Console som vært

Stræk 5: Profilen er oprettet, og vi kan åbne Profilfilen i PowerShell ISE med følgende kommando, og tryk på ENTER.

ise $PROFILE
Åbn Windows PowerShell ISE med profilfil

Stræk 6: Tom profilfil er blevet åbnet i Windows PowerShell ISE

Windows PowerShell ISE har åbnet en tom profilfil Microsoft.PowerShell_profile.ps1

Stræk 7: Fortsæt til eksempel 1 for at se, hvordan du tilpasser denne profil.

Oprettelse af en PowerShell-profil for aktuel bruger og alle værter

Følg disse trin for at oprette en PowerShell-profil:

Stræk 1: Åbn Windows PowerShell-konsollen (Dette er blot en vært efter eget valg til at køre kommandoerne, og vi kan også udføre disse trin fra Windows PowerShell ISE).

Stræk 2: Først vil vi teste, om Profil findes eller ej i vores PowerShell-installation. Skriv følgende kommando i Window PowerShell-konsollen, og tryk på ENTER.

Test-Path $PROFILE.CurrentUserAllHosts

HUSK: Parameterværdi for Test-Path CmdLad os hente fra Tabel 2 – Kommandokolonne. ($profile, $profile.CurrentUserAllHosts, osv)

Strin 3: Hvis resultatet af den foregående kommando er falsk, findes profilen ikke, så gå til trin 4. Hvis resultatet er sandt, findes profilfilen, så gå til trin 5

Profilfilfilen findes ikke (false)

Strg 4: Da Profilen ikke findes, vil vi oprette en med følgende kommando, som du skriver og trykker ENTER.

New-Item -Type File -Force $PROFILE.CurrentUserAllHosts
Profilfilfilen er blevet oprettet
Filprofil.ps1 – Profil for den aktuelle bruger og alle værter

Stræk 5: Profilen er blevet oprettet, og vi kan åbne Profilfilen i PowerShell ISE med følgende kommando, og tryk på ENTER.

ise $PROFILE.CurrentUserAllHosts

Stræk 6: Tom profilfil er blevet åbnet i Windows PowerShell ISE

Windows PowerShell ISE åbnede en tom profilfil profile.ps1

Stræk 7: Fortsæt til eksempel 2 for at se, hvordan du tilpasser profilen.

Vi gentager processen for andre profiltyper det eneste er at bruge den korrekte variabelværdi i kolonnen Command fra Tabel 1 – PowerShell-profiltyper, kommandoer, værter, filnavne og filplaceringer.

  • $profile.AllUsersCurrentHost
  • $profile.AllUsersAllHosts

REMNER: Når du ønsker at oprette en profil for Windows PowerShell ISE som vært, skal du åbne Windows PowerShell ISE og følge trinene for at køre kommandoerne fra Windows PowerShell ISE-konsollen (se skærmbilledet nedenfor)

Windows PowerShell ISE Console og respektive profilfil for ISE som vært

Sådan redigeres Windows PowerShell-profil med eksempler

Eksempel 1 – Profil for Console som vært og aktuel bruger (aktuel bruger – aktuel vært)

Profil-navn: Microsoft.PowerShell_profile.ps1
Profilnavn: Microsoft.PowerShell_profile.ps1
Profilplacering: $Home\Documents\WindowsPowerShell\
Bruges til:

Her er koden i Microsoft.PowerShell_profile.ps1-profilfilfilen. Du skal blot kopiere koden i profilfilen og gemme ændringerne for at få det samme farveskema eller tilpasse det efter dine ønsker.

Set-PSReadLineOption -colors @{ Operator = 'Cyan' Parameter = 'Cyan' String = 'White'}
Microsoft.PowerShell_profile.ps1 profilfilens kode

På nogle ældre systemer var indstillingen af Set-PSReadLineOption CmdLet en smule anderledes som i eksemplet nedenfor.

Set-PSReadlineOption -TokenKind String -ForegroundColor MagentaSet-PSReadlineOption -TokenKind Operator -ForegroundColor CyanSet-PSReadlineOption -TokenKind Parameter -ForegroundColor Cyan 

Fontfarverne er blevet ændret fra dette…

PowerShell Console-skrifttypefarver uden profiltilpasning.

… til dette.

PowerShell Console-skrifttypefarver efter profiltilpasning.

Brug Get-PSReadLineOption CmdLet for at se de gyldige farveargumenter og de aktuelle argumentværdier (farver).

Get-PSReadLineOption CmdLet og det aktuelle farveskema

Eksempel 2 – Profil for både Windows PowerShell Console og ISE som værter (nuværende bruger – alle værter)

Profilnavn: profile.ps1
Profilplacering: $Home\Documents\WindowsPowerShell\
Bruges til:

Profilnavn: profile.ps1
Profilplacering: $Home\Documents\WindowsPowerShell
Bruges til: Når du ønsker at tilpasse både Windows PowerShell-konsollen og ISE samtidigt eller køre egne avancerede funktioner eller CmdLets i både PowerShell-konsollen og ISE.

I dette eksempel indlæser jeg mine egne PowerShell-moduler for nogle CmdLets, som jeg har skrevet, og som er en del af Efficiency Booster PowerShell-projektet. Dette projekt er et bibliotek af mine egne CmdLets organiseret i flere moduler, og jeg kan varmt anbefale dig at downloade zip-filen med projektfilerne og teste i dit eget miljø og kunne følge mig i artiklerne på denne blog.

Her er kommandoer til at importere modulerne og indholdet af profilfilen.

Import-Module 02utilsImport-Module 03commonImport-Module 04maintenance
Profile.ps1 profile file code

Vi kan hurtigt teste, at de importerede moduler virkelig indlæses, når vi åbner PowerShell-konsollen ved hjælp af følgende kommando:

Get-Module -ListAvailable
Importerede moduler i profilfilen indlæses i PowerShell Console-miljøet

For bedre at forstå PowerShell-profiler, moduler og CmdLets sammenkædning skal du læse følgende underoverskrift i dette indlæg Sådan organiserer du dine egne PowerShell CmdLets i PowerShell-moduler, og hvilken profil du skal bruge til at organisere denne struktur, og hvordan vi sammenkæder PowerShell-profil, modul og CmdLet.

Eksempel 3 – Profil for ISE as Host (Current User – Current Host)

Profilnavn: Microsoft.PowerShellISE_profile.ps1
Profil-placering: $Home\Documents\WindowsPowerShell\
Bruges til: I dette eksempel har jeg importeret modulet, der indeholder CmdLets, som vil være Add-ons til Window PowerShell ISE.

Her er kommandoen, der skal kopieres i profilfilen.

Import-Module 09addons
Microsoft.PowerShellISE_profile.ps1 profile file code

Som følge heraf vil vi have to Add-ons i Windows PowerShell ISE. Læs venligst disse to artikler for at få mere at vide om, hvordan de skal kodes.

  • Sådan skriver du avancerede funktioner eller CmdLets med PowerShell (hurtigt)
  • Sådan skriver du PowerShell-funktioners eller CmdLets hjælp (hurtigt)
Windows PowerShell ISE Add-ons

Vi kan hurtigt teste, at importerede moduler virkelig er indlæst, når vi åbner PowerShell-konsollen ved hjælp af følgende kommando:

Get-Module -ListAvailable
Importeret modul i profil- fil er indlæst i PowerShell ISE-miljøet

BEMÆRK: Windows PowerShell ISE importerer fire modeller fra to profilfiler ( profil.ps1 og Microsoft.PowerShellISE_profile.ps1 ).

Eksempel 4 – Profil til både Windows PowerShell-konsollen og ISE som værter (alle brugere – alle værter)

Profilnavn: profile.ps1
Profilplacering: $PSHOME\
Bruges til: I dette eksempel har jeg kun ændret titlen på Window PowerShell Console og ISE for både Current User og Administrator.

Her er koden i Profilfilen:

$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" }}

Du kan se, at både PowerShell Console og ISE-titler har en brugerdefineret tekst, navnet på værten og versionen af PowerShell i titlen.

Brugerdefineret tekst til konsoltitel
Brugerdefineret tekst til konsoltitel, når den køres som administrator
Brugerdefineret tekst for Windows PowerShell ISE Title

Nyttige PowerShell-kommandoer til at kende til profiler

Her er nogle nyttige PowerShell-kommandoer, der kan hjælpe dig med at få oplysninger om profiler.

Som et resultat af at køre en af profilkommandoerne får du profil-filens placering.

$profile$profile.AllUsersCurrentHost$profile.CurrentUserAllHosts$profile.AllUsersAllHosts
Profilkommandoer

VIGTIGT: Når du vil finde placeringen af profilfilen for Windows PowerShell ISE som vært, skal du åbne Windows PowerShell ISE og køre profilkommandoer fra Windows PowerShell ISE-konsollen

Brug Test-Path CmdLet for at kontrollere, om profilfilen findes på systemet eller ej. Hvis du får True som resultat, findes profilen, og false betyder, at profilfilen ikke findes. Brug kommandoer fra Tabel 1 – PowerShell-profiltyper, kommandoer, værter, filnavne og filplaceringer til at kontrollere, om der findes andre profiltyper, uanset om de findes eller ej.

Test-Path $PROFILE

Denne kodelinje opretter en profilfil. Brug kommandoer fra Tabel 1 – PowerShell-profiltyper, kommandoer, værter, filnavne, filplaceringer til at oprette andre profiltyper.

New-Item -Type File -Force $PROFILE.CurrentUserAllHosts

Hvis du ønsker at læse indholdet af profilfilen enten i Notepad eller Window PowerShell ISE, skal du bruge disse to kommandoer.

ise $PROFILEnotepad $PROFILE

Personligt foretrækker jeg Windows PowerShell ISE, da dette er et mere praktisk miljø til at skrive PowerShell-kode.

Brug denne kodelinje for at få profilplaceringer for alle profiltyper.

$profile | Get-Member -Type NoteProperty | Select-Object Definition
Profil-filplaceringer

Kontroller disse to variabler for at få placeringen af henholdsvis PowerShell-installationen og hjemmemappen.

$pshome$home 

Sådan vælger du, hvilken profilfil du skal bruge

Hvis du bruger flere værtsprogrammer som Windows PowerShell Console og ISE, skal du lægge alle tilpasningerne i profilen $PROFILE.CurrentUserAllHosts for den aktuelt loggede bruger. Jeg har f.eks. oprettet mine egne CmdLets organiseret i Modules, så jeg har lagt kommandoer til indlæsning af disse moduler i denne profil, da jeg ønsker, at modulerne skal indlæses både når vi åbner PowerShell Console og ISE. Se eksempel 2 til illustration.

Hvis du ønsker at foretage specifikke tilpasninger til værtsprogrammet, skal du placere al tilpasningskode i en profil, der er specifik for det pågældende værtsprogram. Jeg ændrer f.eks. baggrundsfarven på skrifttyperne i PowerShell Console, så de er mere synlige, eller jeg har indlæst moduler, der er Add-ons til ISE. Det har jeg vist i eksempel 1 for PowerShell Console og eksempel 3 for PowerShell ISE.

Hvis du skal tilpasse PowerShell til mange brugere, og du er administrator, så følg disse tips:

  • Lagrer den mest almindelige tilpasning i $PROFILE.AllUsersAllHosts-profilen, da dette er det bredeste anvendelsesområde
  • Hvis du vil tilpasse Windows PowerShell til alle brugere, men specifikt til et værtsprogram. F.eks. forskellig tilpasning til Windows PowerShell Console og en anden tilpasning til Windows PowerShell ISE, så sæt koden i $PROFILE.AllUsersCurrentHost-profiler
  • Skriv koden for bestemte brugere i de brugerspecifikke profiler. Det betyder grundlæggende, at du skal bruge enten profilen $PROFILE.CurrentUserAllHosts eller $PROFILE.CurrentUserCurrentHost.

Sådan køres Console eller ISE uden profiler indlæst

Åbn dialogboksen Kør Win + R, og åbn PowerShell med indstillingen -NoProfile.

PowerShell.exe -NoProfile

Advarsel: PowerShell Load Time

Med en større og mere kompleks profil kan det begynde at få en effekt på, hvor hurtigt PowerShell åbnes. Hvis du vil fejlfinde, om din profil er ansvarlig for de dårlige indlæsningstider for PowerShell, skal du åbne dialogboksen Kør Win + R og åbne PowerShell med indstillingen -NoProfile.

PowerShell.exe -NoProfile

Profiler og fjernsessioner

PowerShell-profiler køres ikke automatisk i fjernsessioner, så de kommandoer, som profilerne tilføjer, er ikke til stede i fjernsessionen. Desuden udfyldes den automatiske variabel $PROFILE ikke i fjernsessioner.

For at køre en profil i en session skal du bruge Invoke-kommandoen CmdLet.

For eksempel kører følgende kommando profilen “Current user, Current Host” fra den lokale computer i sessionen i $s.

Invoke-Command -Session $s -FilePath $PROFILE

Sådan organiserer du dine egne PowerShell CmdLets i PowerShell-moduler og -profiler

For at du kan forstå sammenhængen mellem PowerShell-profil, modul og CmdLet har jeg oprettet Efficiency Booster PowerShell-projektet med masser af mine egne CmdLets organiseret i en masse moduler, som indlæses i hver PowerShell-session med PowerShell-profilen, når jeg åbner Windows PowerShell-konsollen eller ISE.

Du er velkommen til at downloade zip-filen, der indeholder koden til projektet, så du nemt kan følge med. I filen ReadMe.txt er der en forklaring på installations- og tilpasningstrin, så læs venligst instruktionerne i denne fil. Endnu bedre kan du læse installations- og tilpasningsinstruktionerne ved at læse følgende artikel Sådan installeres og konfigureres PowerShell: CmdLets, Modules, Profiles.

Jeg vil bruge boghandel, bogreoler og bøger analogi til at forklare sammenhængen mellem Powershell Profile, Module og CmdLet.

For eksempel, forestil dig, at du vil lære mere om PowerShell Scripting, og du vil købe nogle bøger om emnet fra boghandlen.

Du går ind i boghandlen, og du ser mange hylder med forskellige etiketter for bogafdelinger som Kunst, Erhverv, Computere, Litteratur, Rejser osv. Selvfølgelig går du hen til hylderne med etiketten Computere, og der finder du den bog, der forklarer PowerShell Scripting, som du vil købe.

Lad os nu vende tilbage til PowerShell-verdenen og kæde analogihistorien sammen med PowerShell:

  • Den CmdLet, som vi bruger leveret med PowerShell eller nogle af vores egne skrevne CmdLet, er bogen.
  • Koden for denne CmdLet er bogens indhold.
  • PowerShell-modulet er hylden i en boghandel i en boghandelsafdeling som f.eks. hylden i computerboghandlen, hvor vores bog er placeret.
  • Endelig er PowerShell-profilen selve boghandlen.

Så hver gang vi åbner Windows PowerShell Console eller ISE, åbner vi vores session og med denne session profilfiler til indlæsning og tilpasning er blevet udført for at opsætte vores PowerShell miljø som vi ønsker det.

I tilfælde af Modules og CmdLets. Profilfil vil importere moduler og Modul vil indlæse hvert CmdLet script, der hører til det pågældende modul.

Da jeg gerne vil bruge mine egne CmdLets både i Windows PowerShell Console og ISE værtsprogrammer foretrækker jeg at oprette en $profile.CurrentUserAllHosts profiltype, som ikke er andet end Profile.ps1-filen, der er oprettet i:

  • $Home\ Documents\WindowsPowerShell\-mappen for PowerShell version 5.1 og ældre
  • $Home\ Documents\PowerShell\-mappen for PowerShell version 6.0.

Sådan knytter vi PowerShell-profilen sammen, modul, Og CmdLet

Her er en kort beskrivelse af denne struktur udført i PowerShell

  • Opret en PowerShell-profil
  • Opret en modulmappe og en filstruktur
  • Apas profilen til at importere nødvendige moduler
  • Opret CmdLet PowerShell-script
  • Skriv egen CmdLet-funktionskode
  • Apas modulfilen til at importere CmdLet-scriptet

Jeg vil illustrere denne proces med Efficiency Booster PowerShell Project-eksempler på Profil, Modules og CmdLets, så det er lettere for alle at forstå hele processen. Så jeg opfordrer igen kraftigt alle til at installere den medfølgende zip-fil.

Følg disse trin for at oprette en PowerShell-profil, modul, CmdLet og sammenkæde dem:

Stræk 1: Åbn Windows PowerShell-konsollen

Stræk 2: Først vil vi teste, om Profile findes eller ikke findes i vores PowerShell-installation. Skriv følgende kommando i Window PowerShell, og tryk på ENTER

Test-Path $PROFILE.CurrentUserAllHosts

Stræk 3: Hvis resultatet af den foregående kommando er falsk, findes profilen ikke, så gå videre til trin 4. Hvis resultatet er sandt, findes profilfilen, så gå til trin 5

Stræk 4: Da Profilen ikke findes, opretter vi en med følgende kommando, som du skriver, og trykker på ENTER.

New-Item -Type File -Force $PROFILE.CurrentUserAllHosts

Stræk 5: Profilen er oprettet, og vi kan åbne Profilfilen i PowerShell ISE med følgende kommando, og tryk på ENTER.

ise $PROFILE.CurrentUserAllHosts

Stræk 6: Profilfilen er blevet åbnet i PowerShell ISE.

Stræk 7: Nu skal vi oprette en Modul-mappestruktur og de nødvendige filer.

Stræk 8: I den mappe, hvor vi har oprettet vores Profilfil, skal vi oprette en Modul-mappe med det nøjagtige navn Modules. Her vil vi opbevare mappestrukturen for alle vores Modules.

Modules-mappe

Stræk 9: I Modules-mappen opretter du mapperne for hvert modul, som du ønsker at have. Jeg har f.eks. oprettet følgende moduler i Efficiency Booster PowerShell Project.

Moduler i Efficiency Booster PowerShell Project

Stræk 10: I hver modulmappe opretter vi filen med udvidelsen .psm1 og med nøjagtigt samme navn som modulmappen. For eksempel i 03common-mappen opretter vi 03common.psm1-filen

PowerShell-modulfil psm1

Stræk 11: Valgfrit kan vi oprette en manifestfil (.psd1-udvidelsen) for hvert modul, som vil beskrive den pågældende mappe yderligere.

Stræk 12: I den samme modulmappe opretter vi filen med .ps1-udvidelsen (Regular PowerShell scriptfil), hvor vi vil skrive koden til vores egen CmdLet. Vi kan f.eks. oprette filen GetCPUInfo.ps1, hvor vi vil skrive koden til vores egen Get-CPUInfo CmdLet.

Get-CPUInfo CmdLet scriptfil

Step 13: Nu er vi klar til at skrive vores egen CmdLet-kode og scripte den. Du er velkommen til at kigge på eksempel Get-CPUInfo og andre CmdLets i Efficiency Booster PowerShell-projektet. I fremtidige indlæg vil jeg skrive mere detaljeret om hver enkelt CmdLet i projektet. Indtil videre kan du downloade projektets kildekode her:

Get-CPUInfo CmdLet Kildekode

Stræk 14: Tilknyt et CmdLet-script til det korrekte PowerShell-modul. Åbn modulets .psm1-fil, og skriv denne kodelinje:
. $psScriptRoot\NameOfCmdLetScriptFile.ps1
For eksempel, for Get-CPUInfo CmdLet skriver vi denne kodelinje i 03common.psm1 fil:

. $psScriptRoot\GetCPUInfo.ps1 
Link mellem CmdLet scriptfil og modul

Stræk 15: I profilscriptfilen importerer vi det modul, der indeholder vores CmdLet scriptfil, så skriv denne kommando i profilfilen.
Import-Module ModuleName
For eksempel er vores Get-CPUInfo CmdLet en del af 03common-modulet, så vi skriver denne kode i profilen:

Import-Module 03common
Link mellem profil og modul

Step 16: Vi gentager trin 9 -15 for hvert modul og CmdLet, som vi ønsker at have i vores profil, og som skal indlæses med hver PowerShell-session, vi starter.

Stræk 17: Vi tester, at alle importerede moduler indlæses, når vi åbner en bestemt vært. Vi kan liste moduler ved hjælp af følgende kommando:

Get-Module -ListAvailable
Ladte moduler i PowerShell-konsolmiljøet

Stræk 18: Vi kan teste, at alle CmdLets i hvert modul er indlæst i miljøet. Her er den nyttige eksempelkommando:

Get-Command -Module 02utils
Loaded CmdLets i PowerShell-konsolmiljøer for 02utils-modulet

Nyttige PowerShell-profilartikler

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.