Freigeben über


PowerShell-Editor-Unterstützung für Azure Data Studio

Von Bedeutung

Azure Data Studio wird ab dem 28. Februar 2026 eingestellt. Sie sollten zu Visual Studio Codemigrieren. Weitere Informationen finden Sie unter "Was geschieht mit Azure Data Studio".

Diese Erweiterung bietet umfassende Unterstützung für den PowerShell-Editor in Azure Data Studio. Jetzt können Sie PowerShell-Skripts mit der ausgezeichneten IDE-ähnlichen Schnittstelle schreiben und debuggen, die Azure Data Studio bereitstellt.

PowerShell-Erweiterung

Features

  • Syntaxhervorhebung
  • Codeausschnitte
  • IntelliSense für Cmdlets und mehr
  • Von PowerShell Script Analyzer bereitgestellte regelbasierte Analyse
  • Gehe zur Definition von Cmdlets und Variablen
  • Verweise auf Cmdlets und Variablen finden
  • Erkennung von Dokument- und Arbeitsbereichssymbolen
  • Ausgewählten PowerShell-Code mit F8 ausführen
  • Starten der Onlinehilfe für das Symbol unter dem Cursor mithilfe von STRG+F1
  • Grundlegende interaktive Konsolenunterstützung!

Installieren der Erweiterung

Sie können das offizielle Release der PowerShell-Erweiterung installieren, indem Sie die Schritte in der Azure Data Studio-Dokumentation ausführen. Suchen Sie im Bereich „Erweiterungen“ nach der Erweiterung „PowerShell“, und installieren Sie sie dort. Sie werden automatisch über zukünftige Erweiterungsupdates benachrichtigt!

Sie können auch ein VSIX-Paket von unserer Seite Releases herunterladen und über die Befehlszeile installieren:

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

Plattformunterstützung

  • Windows 7 bis 10 mit Windows PowerShell V3 und höher und PowerShell Core
  • Linux mit PowerShell Core (alle von PowerShell unterstützten Distributionen)
  • macOS mit PowerShell Core

In den FAQ finden Sie Antworten auf häufig gestellte Fragen.

Installieren von PowerShell Core

Wenn Sie Azure Data Studio unter macOS oder Linux ausführen, müssen Sie möglicherweise auch PowerShell Core installieren.

PowerShell Core ist ein Open-Source-Projekt auf GitHub. Weitere Informationen zur Installation von PowerShell Core auf macOS- oder Linux-Plattformen finden Sie in den folgenden Artikeln:

Beispielskripts

Im examples-Ordner der Erweiterung finden Sie einige Beispielskripts, mit denen Sie die PowerShell-Funktionen zum Bearbeiten und Debuggen erkunden können. Weitere Informationen zur Verwendung finden Sie in der enthaltenen README.md-Datei.

Dieser Ordner befindet sich im folgenden Pfad:

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

Oder wenn Sie die Vorschauversion der Erweiterung verwenden,

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

Um die Beispiele der Erweiterung in Azure Data Studio zu öffnen und anzuzeigen, führen Sie den folgenden Code an der PowerShell-Eingabeaufforderung aus:

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

Erstellen und Öffnen von Dateien

Um im Editor eine neue Datei zu erstellen und zu öffnen, verwenden Sie den Befehl „New-EditorFile“ im integrierten PowerShell-Terminal.

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

Dieser Befehl funktioniert für jeden Dateityp, nicht nur für PowerShell-Dateien.

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

Um eine oder mehrere Dateien in Azure Data Studio zu öffnen, verwenden Sie den Befehl Open-EditorFile.

Open-EditorFile ExportData.ps1, ImportData.py

Kein Fokus auf der Konsole beim Ausführen

Wenn Sie häufiger mit SSMS arbeiten, kennen Sie das: Sie können eine bereits ausgeführte Abfrage erneut ausführen, ohne zuvor zum Abfragebereich zurückkehren zu müssen. In diesem Fall kommt Ihnen das Standardverhalten des Code-Editors möglicherweise etwas fremd vor. Um den Fokus im Editor beizubehalten, wenn Sie den Code mit F8 ausführen, ändern Sie die folgende Einstellung:

"powershell.integratedConsole.focusConsoleOnExecute": false

Der Standardwert lautet aus Gründen der Barrierefreiheit true.

Beachten Sie, dass durch diese Einstellung verhindert wird, dass der Fokus auf die Konsole wechselt, selbst wenn Sie einen Befehl verwenden, der explizit nach Eingaben verlangt, wie z. B. Get-Credential.

SQL-PowerShell-Beispiele

Um die folgenden Beispiele verwenden zu können, müssen Sie das SqlServer-Modul aus dem PowerShell-Katalog installieren.

Install-Module -Name SqlServer

Hinweis

Ab Version 21.1.18102 unterstützt das SqlServer-Modul zusätzlich zu Windows PowerShell auch PowerShell Core 6.2 und höher.

In diesem Beispiel wird das Get-SqlInstance-Cmdlet verwendet, um die Server-SMO-Objekte für ServerA und ServerB abzurufen. Die Standardausgabe für diesen Befehl enthält den Instanznamen, die Version, service Pack und die CU-Aktualisierungsebene der Instanzen.

Get-SqlInstance -ServerInstance ServerA, ServerB

Ein Beispiel, wie diese Ausgabe aussieht, ist hier zu sehen:

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

Das SqlServer Modul enthält einen Anbieter namens SQLRegistration, mit dem Sie programmgesteuert auf die folgenden Arten von gespeicherten SQL Server-Verbindungen zugreifen können:

  • Datenbank-Engine-Server (registrierte Server)
  • Zentraler Verwaltungsserver
  • Analysis Services
  • Integrationsdienste
  • Berichterstellungsdienste

Im folgenden Beispiel wird ein dir (Alias für Get-ChildItem) ausgeführt, um die Liste aller SQL Server-Instanzen abzurufen, die in Der Datei "Registrierte Server" aufgeführt sind.

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

Hier ist ein Beispiel dafür, wie diese Ausgabe aussehen könnte:

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

Bei vielen Vorgängen, die eine Datenbank oder Objekte in einer Datenbank einbeziehen, kann das Cmdlet Get-SqlDatabase verwendet werden. Wenn Sie Werte für den -ServerInstance-Parameter und den -Database-Parameter angeben, wird nur dieses Datenbankobjekt abgerufen. Wenn Sie jedoch nur den -ServerInstance Parameter angeben, wird eine vollständige Liste aller Datenbanken in dieser Instanz zurückgegeben.

Ein Beispiel, wie diese Ausgabe aussieht, ist hier zu sehen:

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

Im nächsten Beispiel wird mit dem Cmdlet Get-SqlDatabase eine Liste aller Datenbanken auf der Instanz „ServerB“ abgerufen. Anschließend wird (mithilfe des Cmdlets Out-GridView) ein Raster bzw. eine Tabelle dargestellt, in dem bzw. der Sie auswählen können, welche Datenbanken gesichert werden sollen. Sobald der Benutzer die Schaltfläche "OK" auswählt, werden nur die hervorgehobenen Datenbanken gesichert.

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

In diesem Beispiel wird erneut eine Liste aller SQL Server-Instanzen abgerufen, die in der Datei "Registrierte Server" aufgeführt sind. Dann wird die Funktion Get-SqlAgentJobHistory aufgerufen, die für jede aufgelistete SQL Server-Instanz berichtet, welche SQL-Agent-Jobs seit Mitternacht fehlgeschlagen sind.

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

In diesem Beispiel führen Sie ein dir (Alias für Get-ChildItem) aus, um die Liste aller SQL Server-Instanzen abzurufen, die in der Datei "Registrierte Server" aufgeführt sind, und verwenden dann das Get-SqlDatabase-Cmdlet, um eine Liste der Datenbanken für jede dieser Instanzen abzurufen.

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

Ein Beispiel, wie diese Ausgabe aussieht, ist hier zu sehen:

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

Melden von Problemen

Wenn Probleme mit der PowerShell-Erweiterung auftreten, finden Sie in der Dokumentation zur Problembehandlung Informationen zum Diagnostizieren und Melden von Problemen.

Sicherheitshinweis

Informationen zu Sicherheitsproblemen finden Sie hier.

Mitwirken am Code

Informationen dazu, wie Sie an dieser Erweiterung mitwirken können, finden Sie in der Dokumentation zur Entwicklung.

Maintainer

Lizenz

Diese Erweiterung ist unter der MIT-Lizenz lizenziert. Informationen zu den Binärdateien von Drittanbietern, die in Releases dieses Projekts enthalten sind, finden Sie in der Datei mit Hinweisen zu Drittanbietern.

Verhaltenskodex

Dieses Projekt hat den Microsoft Open Source Code of Conductübernommen. Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Kommentare haben.