Brug pausepunkter i Windows PowerShell-scripts

Fuldført

Et pausepunkt afbryder et script midlertidigt og giver en interaktiv prompt. Ved den interaktive prompt kan du forespørge eller ændre variabelværdier og derefter fortsætte scriptet. Du bruger pausepunkter til at foretage fejlfinding af scripts, når de ikke opfører sig som forventet.

Ved en Windows PowerShell-prompt kan du angive pausepunkter ved hjælp af cmdlet'en Set-PSBreakPoint. Pausepunkter kan angives på baggrund af scriptets linje, en bestemt kommando, der bruges, eller en bestemt variabel, der bruges. I følgende eksempel beskrives det, hvordan du angiver et pausepunkt på en bestemt linje i et script:

Set-PSBreakPoint -Script "MyScript.ps1" -Line 23

Når du angiver et pausepunkt baseret på en linje, skal du være forsigtig, når du redigerer scriptet. Når du redigerer scriptet, kan du tilføje eller fjerne linjer, og pausepunktet påvirker ikke den samme kode, som du oprindeligt havde tiltænkt.

I følgende eksempel beskrives det, hvordan du angiver et pausepunkt for en bestemt kommando:

Set-PSBreakPoint -Command "Set-ADUser" -Script "MyScript.ps1"

Når du angiver et pausepunkt baseret på en kommando, kan du inkludere jokertegn. Du kan f.eks. bruge værdien *-AD User til at udløse et pausepunkt for Get-ADUser, Set-ADUser, New-ADUserog Remove-ADUser.

Benyt følgende fremgangsmåde for at angive et pausepunkt for en bestemt variabel:

Set-PSBreakPoint -Variable "computer" -Script "MyScript.ps1" -Mode ReadWrite

Du kan bruge parameteren -Mode for variabler til at identificere, om du vil afbryde, når variabelværdien læses, skrives eller begge dele. Gyldige værdier er Read, Writeog ReadWrite.

Standardhandlingen for Set-PSBreakPoint- er pause, som leverer den interaktive prompt. Du kan dog bruge parameteren -Action til at angive kode, der kører i stedet. Dette giver dig mulighed for at udføre komplekse handlinger, f.eks. evaluere variabelværdier og kun bryde, hvis værdien er uden for et bestemt område.

Seddel

Pausepunkter gemmes i hukommelsen i stedet for som en del af scriptet. Pausepunkter deles ikke mellem flere Windows PowerShell-prompter og fjernes, når prompten lukkes.

PowerShell ISE

I Windows PowerShell ISE (Integrated Scripting Environment) kan du angive pausepunkter baseret på linjen. Indstillinger, der er relateret til pausepunkter, findes i menuen Fejlfinding. De linjer, du konfigurerer som pausepunkter, fremhæves, hvilket gør det nemt at identificere dem. I Windows PowerShell ISE opdateres pausepunkterne automatisk med det korrekte linjenummer, når du tilføjer eller fjerner linjer til dit script.

Visual Studio Code

Med Microsoft Visual Studio Code kan du angive og bruge pausepunkter med mere avancerede indstillinger end PowerShell-ISE. Du kan konfigurere betingede pausepunkter, der udløses, når variabler er uden for et interval eller svarer til en bestemt værdi.

Oplysninger om variabelt indhold er også nemmere at finde i Visual Studio Code. Når et pausepunkt udløses, og du er i fejlfindingsprogrammet, er der en variabler sektion, der viser indholdet af variablen, så du ikke behøver at forhøre dem.