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.
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-ChildItem
att 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-ChildItem
att 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
- Keith Hill - @r_keith_hill
- Tyler Leonhardt - @TylerLeonhardt
- Råna Holt
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.