Dela via


Stöd för PowerShell-redigeraren för Azure Data Studio

Det här tillägget ger omfattande Stöd för PowerShell-redigerare i Azure Data Studio. Nu kan du skriva och felsöka PowerShell-skript med det utmärkta IDE-liknande gränssnitt som Azure Data Studio tillhandahåller.

PowerShell-tillägg

Funktioner

  • syntaxmarkering
  • Kodfragment
  • IntelliSense för cmdletar med mera
  • Regelbaserad analys från PowerShell Script Analyzer
  • Gå till Definition av cmdletar och variabler
  • Hitta referenser till cmdletar och variabler
  • Identifiering av dokument- och arbetsytesymboler
  • Kör valt val av PowerShell-kod med F8
  • Starta onlinehjälpen för symbolen under markören med Ctrl +F1
  • Grundläggande stöd för interaktiv konsol!

Installera tillägget

Du kan installera den officiella versionen av PowerShell-tillägget genom att följa stegen i Azure Data Studio-dokumentationen. I fönstret Tillägg söker du efter "PowerShell"-tillägget och installerar det där. Du meddelas automatiskt om eventuella framtida tilläggsuppdateringar!

Du kan också installera ett VSIX-paket från sidan Versioner och installera det via kommandoraden:

azuredatastudio --install-extension PowerShell-<version>.vsix

Plattformssupport

  • Windows 7 till 10 med Windows PowerShell v3 och senare och PowerShell Core
  • Linux med PowerShell Core (alla PowerShell-distributioner som stöds)
  • macOS med PowerShell Core

Läs vanliga frågor och svar om vanliga frågor.

Installera PowerShell Core

Om du kör Azure Data Studio på macOS eller Linux kan du också behöva installera PowerShell Core.

PowerShell Core är ett projekt med öppen källkod på GitHub. Mer information om hur du installerar PowerShell Core på macOS- eller Linux-plattformar finns i följande artiklar:

Exempelskript

Det finns några exempelskript i tilläggets examples mapp som du kan använda för att identifiera powershell-redigerings- och felsökningsfunktioner. Kolla in den inkluderade README.md-filen för att lära dig mer om hur du använder dem.

Den här mappen finns på följande sökväg:

$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples

eller om du använder förhandsversionen av tillägget

$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples

Om du vill öppna/visa tilläggets exempel i Azure Data Studio kör du följande kod från powershell-kommandotolken:

azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]

Skapa och öppna filer

Om du vill skapa och öppna en ny fil i redigeraren använder du filen New-EditorFile inifrån den integrerade PowerShell-terminalen.

PS C:\temp> New-EditorFile ExportData.ps1

Det här kommandot fungerar för alla filtyper, inte bara PowerShell-filer.

PS C:\temp> New-EditorFile ImportData.py

Om du vill öppna en eller flera filer i Azure Data Studio använder du Open-EditorFile kommandot .

Open-EditorFile ExportData.ps1, ImportData.py

Inget fokus på konsolen vid körning

För de användare som är vana vid att arbeta med SSMS är du van vid att kunna köra en fråga och sedan kunna köra den igen utan att behöva växla tillbaka till frågefönstret. I det här fallet kan standardbeteendet för kodredigeraren kännas konstigt för dig. Om du vill behålla fokus i redigeraren när du kör med F8 ändrar du följande inställning:

"powershell.integratedConsole.focusConsoleOnExecute": false

Standardvärdet är true i hjälpmedelssyfte.

Tänk på att den här inställningen förhindrar att fokus ändras till konsolen, även när du använder ett kommando som uttryckligen anropar indata, till exempel Get-Credential.

SQL PowerShell-exempel

För att kunna använda dessa exempel (nedan) måste du installera SqlServer-modulen från PowerShell-galleriet.

Install-Module -Name SqlServer

Kommentar

Med version 21.1.18102 och up stöder modulen SqlServer PowerShell Core 6.2 och senare, utöver Windows PowerShell.

I det här exemplet använder vi cmdleten Get-SqlInstance för att hämta server-SMO-objekten för ServerA och ServerB. Standardutdata för det här kommandot innehåller instansnamnet, versionen, Service Pack och CU-uppdateringsnivån för instanserna.

Get-SqlInstance -ServerInstance ServerA, ServerB

Här är ett exempel på hur utdata kommer att se ut:

Instance Name             Version    ProductLevel UpdateLevel  HostPlatform HostDistribution
-------------             -------    ------------ -----------  ------------ ----------------
ServerA                   13.0.5233  SP2          CU4          Windows      Windows Server 2016 Datacenter
ServerB                   14.0.3045  RTM          CU12         Linux        Ubuntu

Modulen SqlServer innehåller en provider med namnet SQLRegistration som gör att du programatiskt kan komma åt följande typer av sparade SQL Server-anslutningar:

  • Databasmotorserver (registrerade servrar)
  • Central Management Server (CMS)
  • Analysis Services
  • Integration Services
  • Rapporteringstjänster

I följande exempel gör vi ett dir (alias för ) för Get-ChildItematt hämta listan över alla SQL Server-instanser som anges i filen Registrerade servrar.

dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse

Här är ett exempel på hur utdata kan se ut:

Mode Name
---- ----
-    ServerA
-    ServerB
-    localhost\SQL2017
-    localhost\SQL2016Happy
-    localhost\SQL2017

För många åtgärder som omfattar en databas eller objekt i en databas kan cmdleten Get-SqlDatabase användas. Om du anger värden för både parametrarna -ServerInstance och -Database hämtas bara ett databasobjekt. Men om du bara anger parametern returneras en fullständig lista över alla databaser på den instansen -ServerInstance .

Här är ett exempel på hur utdata kommer att se ut:

Name                 Status           Size     Space  Recovery Compat. Owner
                                            Available  Model     Level
----                 ------           ---- ---------- -------- ------- -----
AdventureWorks2017   Normal      336.00 MB   57.01 MB Simple       140 sa
master               Normal        6.00 MB  368.00 KB Simple       140 sa
model                Normal       16.00 MB    5.53 MB Full         140 sa
msdb                 Normal       48.44 MB    1.70 MB Simple       140 sa
PBIRS                Normal      144.00 MB   55.95 MB Full         140 sa
PBIRSTempDB          Normal       16.00 MB    4.20 MB Simple       140 sa
SSISDB               Normal      325.06 MB   26.21 MB Full         140 sa
tempdb               Normal       72.00 MB   61.25 MB Simple       140 sa
WideWorldImporters   Normal         3.2 GB     2.6 GB Simple       130 sa

I nästa exempel används cmdleten Get-SqlDatabase för att hämta en lista över alla databaser på ServerB-instansen och visar sedan ett rutnät/en tabell (med cmdleten Out-GridView ) för att välja vilka databaser som ska säkerhetskopieras. När användaren klickar på knappen "OK" säkerhetskopieras endast de markerade databaserna.

Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On

Det här exemplet hämtar återigen en lista över alla SQL Server-instanser som anges i filen Registrerade servrar och anropar sedan som Get-SqlAgentJobHistory rapporterar varje misslyckat SQL Agent-jobb sedan midnatt för varje SQL Server-instans som anges.

dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
    Get-SqlAgentJobHistory -ServerInstance  $_.Name -Since Midnight -OutcomesType Failed
}

I det här exemplet ska vi göra ett dir (alias för ) för Get-ChildItematt hämta listan över alla SQL Server-instanser som anges i filen Registrerade servrar och sedan använda cmdleten Get-SqlDatabase för att hämta en lista över databaser för var och en av dessa instanser.

dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
    Get-SqlDatabase -ServerInstance $_.Name
}

Här är ett exempel på hur utdata kommer att se ut:

Name                 Status           Size  Space     Recovery Compat. Owner
                                            Available Model    Level
----                 ------           ---- ---------- -------- ------- -----
AdventureWorks2017   Normal      336.00 MB   57.01 MB Simple       140 sa
master               Normal        6.00 MB  368.00 KB Simple       140 sa
model                Normal       16.00 MB    5.53 MB Full         140 sa
msdb                 Normal       48.44 MB    1.70 MB Simple       140 sa
PBIRS                Normal      144.00 MB   55.95 MB Full         140 sa
PBIRSTempDB          Normal       16.00 MB    4.20 MB Simple       140 sa
SSISDB               Normal      325.06 MB   26.21 MB Full         140 sa
tempdb               Normal       72.00 MB   61.25 MB Simple       140 sa
WideWorldImporters   Normal         3.2 GB     2.6 GB Simple       130 sa

Rapporteringsproblem

Om du får problem med PowerShell-tillägget kan du läsa felsökningsdokumenten för information om diagnostisering och rapportering av problem.

Säkerhetsanteckning

Information om eventuella säkerhetsproblem finns här.

Bidra till koden

Se utvecklingsdokumentationen för mer information om hur du bidrar till det här tillägget!

Utvecklare

Licens

Det här tillägget är licensierat under MIT-licensen. Mer information om de binärfiler från tredje part som vi inkluderar med versioner av det här projektet finns i meddelandefilen från tredje part .

Regler för uppförande

Det här projektet har antagit Microsoft Open Source Code of Conduct (Microsofts regler för uppförande för öppen källkod). Läs Vanliga frågor och svar om uppförandekoden eller kontakta opencode@microsoft.com om du har några andra frågor eller kommentarer.