Brug pausepunkter i Windows PowerShell-scripts
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. Dette eksempel sætter et breakpoint ved en specifik linje i et script:
Set-PSBreakPoint -Script "MyScript.ps1" -Line 23
Når du sætter et breakpoint baseret på en linje, så vær forsigtig, når du redigerer manuskriptet. At tilføje eller fjerne linjer kan flytte breakpointet væk fra den kode, du oprindeligt havde tænkt.
Dette eksempel sætter et breakpoint for en specifik 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 bryde, 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. Med -Action, kan du evaluere variable værdier og kun bryde, når en værdi falder uden for et bestemt interval.
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.
Seddel
Windows PowerShell ISE er ikke længere aktivt i funktionsudvikling og understøtter kun Windows PowerShell 5.1 og tidligere. Til udvikling af nye scripts anbefales Visual Studio Code med PowerShell-udvidelsen den anbefalede editor.
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, når du tilføjer eller fjerner linjer, opdateres breakpunkterne automatisk med det korrekte linjenummer.
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.
Visual Studio Code gør det også lettere at inspicere variabelindhold. Når et breakpoint udløses, viser debuggeren en variabelsektion , der viser hver variabels indhold.