Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Azure Data Studio wordt op 28 februari 2026buiten gebruik gesteld. U wordt aangeraden de MSSQL-extensie voor Visual Studio Code te gebruiken. Ga naar Wat gebeurt er met Azure Data Studio voor meer informatie over migreren naar Visual Studio Code?
Deze extensie biedt uitgebreide ondersteuning voor PowerShell-editors in Azure Data Studio. U kunt nu PowerShell-scripts schrijven en fouten opsporen met behulp van de uitstekende IDE-achtige interface die Azure Data Studio biedt.
              
              
            
Functies
- Syntaxmarkering
 - Codefragmenten
 - IntelliSense voor cmdlets en meer
 - Analyse op basis van regels van PowerShell Script Analyzer
 - Ga naar de definitie van cmdlets en variabelen
 - Zoek naar verwijzingen van cmdlets en variabelen
 - Document- en werkruimtesymbooldetectie
 - Geselecteerde selectie van PowerShell-code uitvoeren met F8
 - Start online help voor het symbool onder de cursor met Ctrl+F1
 - Basisondersteuning voor interactieve consoles.
 
De extensie installeren
U kunt de officiële versie van de PowerShell-extensie installeren door de stappen in de Documentatie van Azure Data Studio te volgen. Zoek in het deelvenster Extensies naar de extensie PowerShell en installeer deze daar. U ontvangt automatisch een melding over toekomstige uitbreidingsupdates.
U kunt ook een VSIX-pakket installeren vanaf de pagina Releases en installeren via de opdrachtregel:
azuredatastudio --install-extension PowerShell-<version>.vsix
Platformondersteuning
- Windows 7 tot en met 10 met Windows PowerShell v3 en hoger en PowerShell Core
 - Linux met PowerShell Core (alle door PowerShell ondersteunde distributies)
 - macOS met PowerShell Core
 
Lees de veelgestelde vragen voor antwoorden op veelgestelde vragen.
PowerShell Core installeren
Als u Azure Data Studio uitvoert op macOS of Linux, moet u mogelijk ook PowerShell Core installeren.
PowerShell Core is een opensource-project op GitHub. Zie de volgende artikelen voor meer informatie over het installeren van PowerShell Core op macOS- of Linux-platforms:
- Installing PowerShell Core on Linux (PowerShell Core installeren in Linux)
 - Installing PowerShell Core on macOS (PowerShell Core installeren in macOS)
 
Voorbeeldscripts
Er zijn enkele voorbeeldscripts in de map van examples de extensie die u kunt gebruiken om powerShell-bewerkings- en foutopsporingsfunctionaliteit te detecteren.  Bekijk het opgenomen README.md-bestand voor meer informatie over het gebruik ervan.
Deze map vindt u op het volgende pad:
$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples
of als u de preview-versie van de extensie gebruikt
$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples
Als u de voorbeelden van de extensie in Azure Data Studio wilt openen/weergeven, voert u de volgende code uit vanaf de PowerShell-opdrachtprompt:
azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]
Bestanden maken en openen
Als u een nieuw bestand in de editor wilt maken en openen, gebruikt u het Bestand New-Editor vanuit de geïntegreerde PowerShell-terminal.
PS C:\temp> New-EditorFile ExportData.ps1
Deze opdracht werkt voor elk bestandstype, niet alleen Voor PowerShell-bestanden.
PS C:\temp> New-EditorFile ImportData.py
Gebruik de Open-EditorFile opdracht om een of meer bestanden in Azure Data Studio te openen.
Open-EditorFile ExportData.ps1, ImportData.py
Geen focus op de console tijdens het uitvoeren
Voor gebruikers die gewend zijn om met SSMS te werken, bent u gewend om een query uit te voeren en deze vervolgens opnieuw uit te voeren zonder dat u terug hoeft te gaan naar het queryvenster. In dit geval kan het standaardgedrag van de code-editor vreemd voor u zijn. Wijzig de volgende instelling om de focus in de editor te houden wanneer u deze uitvoert met F8 :
"powershell.integratedConsole.focusConsoleOnExecute": false
De standaardwaarde is true voor toegankelijkheidsdoeleinden.
Houd er rekening mee dat deze instelling voorkomt dat de focus wordt verplaatst naar de console, zelfs wanneer u een opdracht gebruikt die expliciet invoer aanroept, zoals Get-Credential.
Voorbeelden van SQL PowerShell
Als u deze voorbeelden (hieronder) wilt gebruiken, moet u de SqlServer-module installeren vanuit de PowerShell Gallery.
Install-Module -Name SqlServer
Notitie
Met versie 21.1.18102 en hoger ondersteunt de SqlServer module PowerShell Core 6.2 en hoger, naast Windows PowerShell.
In dit voorbeeld gebruiken we de Get-SqlInstance cmdlet om de Server-SMO-objecten op te halen voor ServerA & ServerB.  De standaarduitvoer voor deze opdracht bevat de exemplaarnaam, versie, Service Pack en CU-updateniveau van de exemplaren.
Get-SqlInstance -ServerInstance ServerA, ServerB
Hier volgt een voorbeeld van hoe deze uitvoer eruitziet:
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
De SqlServer module bevat een provider SQLRegistration waarmee u programmatisch toegang kunt krijgen tot de volgende typen opgeslagen SQL Server-verbindingen:
- Database Engine-server (geregistreerde servers)
 - Central Management Server (CMS)
 - Analyse diensten
 - Integratieservices
 - Rapportagediensten
 
In het volgende voorbeeld gaan we een dir (alias voor Get-ChildItem) uitvoeren om de lijst op te halen met alle SQL Server-exemplaren die worden vermeld in het bestand Geregistreerde Servers.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse
Hier volgt een voorbeeld van hoe deze uitvoer eruit kan zien:
Mode Name
---- ----
-    ServerA
-    ServerB
-    localhost\SQL2017
-    localhost\SQL2016Happy
-    localhost\SQL2017
Voor veel bewerkingen die betrekking hebben op een database of objecten in een database, kan de Get-SqlDatabase cmdlet worden gebruikt.  Als u waarden opgeeft voor zowel de -ServerInstance als -Database de parameters, wordt slechts dat ene databaseobject opgehaald.  Als u echter alleen de -ServerInstance parameter opgeeft, wordt er een volledige lijst met alle databases op dat exemplaar geretourneerd.
Hier volgt een voorbeeld van hoe deze uitvoer eruitziet:
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
In dit volgende voorbeeld wordt de Get-SqlDatabase cmdlet gebruikt om een lijst met alle databases op het ServerB-exemplaar op te halen. Vervolgens wordt een raster/tabel (met behulp van de Out-GridView cmdlet) weergegeven om te selecteren welke databases er een back-up van moeten maken.  Zodra de gebruiker op de knop OK klikt, wordt alleen een back-up gemaakt van de gemarkeerde databases.
Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On
In dit voorbeeld wordt opnieuw een lijst opgehaald met alle SQL Server-exemplaren die worden vermeld in het bestand Geregistreerde servers en wordt vervolgens de Get-SqlAgentJobHistory lijst aanroepen die elke mislukte SQL Agent-taak rapporteert sinds middernacht, voor elk SQL Server-exemplaar dat wordt vermeld.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
    Get-SqlAgentJobHistory -ServerInstance  $_.Name -Since Midnight -OutcomesType Failed
}
In dit voorbeeld doen we een dir (alias voor Get-ChildItem) om de lijst op te halen met alle SQL Server-exemplaren die worden vermeld in het bestand Geregistreerde servers en vervolgens de Get-SqlDatabase cmdlet gebruiken om een lijst met databases op te halen voor elk van deze exemplaren.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
    Get-SqlDatabase -ServerInstance $_.Name
}
Hier volgt een voorbeeld van hoe deze uitvoer eruitziet:
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
Problemen melden
Als u problemen ondervindt met de PowerShell-extensie, raadpleegt u de documentatie voor probleemoplossing voor informatie over het diagnosticeren en rapporteren van problemen.
Beveiligingsnotitie
Zie hier voor eventuele beveiligingsproblemen.
Bijdragen aan de code
Bekijk de ontwikkeldocumentatie voor meer informatie over hoe u een bijdrage kunt leveren aan deze extensie.
Onderhouders
- Keith Hill - @r_keith_hill
 - Tyler Leonhardt - @TylerLeonhardt
 - Rob Holt
 
Licentie
Deze extensie is gelicentieerd onder de MIT-licentie. Voor meer informatie over de binaire bestanden van derden die we opnemen met releases van dit project, zie het bestand met kennisgevingen van derden.
Gedragscode
Dit project onderschrijft de Microsoft Open Source gedragscode. Raadpleeg voor meer informatie de veelgestelde vragen over de gedragscode of neem contact op via opencode@microsoft.com als u aanvullende vragen of opmerkingen hebt.