Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Azure Data Studio is mis hors service à compter de February 28, 2026. Vous devez migrer vers Visual Studio Code. Pour plus d'informations, consultez Ce qui se passe avec Azure Data Studio.
Cette extension fournit une prise en charge enrichie de l’éditeur PowerShell dans Azure Data Studio. Vous pouvez maintenant écrire et déboguer des scripts PowerShell à l’aide de l’excellente interface de type IDE que Azure Data Studio fournit.
Extension PowerShell
Fonctionnalités
- Mise en surbrillance de la syntaxe
- Extraits de code
- IntelliSense pour cmdlets et plus encore
- Analyse basée sur des règles fournie par PowerShell Script Analyzer
- Accéder aux définitions des cmdlets et des variables
- Trouver des références de cmdlets et de variables
- Découverte des documents et des symboles de l'espace de travail
- Exécuter la sélection du code PowerShell en utilisant F8
- Lancer l'aide en ligne pour le symbole sous le curseur à l’aide de CtrlF1
- Prise en charge de base pour la console interactive !
Installation de l’extension
Vous pouvez installer la version officielle de l’extension PowerShell en suivant les étapes décrites dans la documentation Azure Data Studio. Dans le volet Extensions, recherchez l'extension « PowerShell » et installez-la. Vous serez averti automatiquement des futures mises à jour d’extension !
Vous pouvez également installer un package VSIX depuis notre page des versions et l'installer via la ligne de commande :
azuredatastudio --install-extension PowerShell-<version>.vsix
Support de la plateforme
- Windows 7 à 10 avec Windows PowerShell v3 et versions ultérieures, et PowerShell Core
- Linux avec PowerShell Core (toutes les distributions PowerShell prises en charge)
- macOS avec PowerShell Core
Consultez le Forum Aux Questions pour lire les réponses aux questions courantes.
Installation de PowerShell Core
Si vous exécutez Azure Data Studio sur macOS ou Linux, vous devrez peut-être également installer PowerShell Core.
PowerShell Core est un projet Open Source sur GitHub. Pour plus d'informations sur l'installation de PowerShell Core sur les plateformes macOS ou Linux, consultez les articles suivants :
- Installation de PowerShell Core sur Linux
- Installation de PowerShell Core sur macOS
Exemples de scripts
Le dossier de l'extension contient quelques exemples de scripts que vous pouvez utiliser pour découvrir les fonctionnalités d'édition et de débogage PowerShell. Consultez le fichier README.md inclus pour en savoir plus sur leur utilisation.
Ce dossier se trouve à l’emplacement suivant :
$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples
Ou si vous utilisez la préversion de l’extension,
$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples
Pour ouvrir/afficher les exemples de l'extension dans Azure Data Studio, exécutez le code suivant à partir de votre invite de commandes PowerShell :
azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]
Création et ouverture de fichiers
Pour créer et ouvrir un nouveau fichier dans l'éditeur, utilisez la commande New-EditorFile depuis le terminal intégré PowerShell.
PS C:\temp> New-EditorFile ExportData.ps1
Cette commande fonctionne pour n'importe quel type de fichier, pas seulement pour les fichiers PowerShell.
PS C:\temp> New-EditorFile ImportData.py
Pour ouvrir un ou plusieurs fichiers dans Azure Data Studio, utilisez la commande Open-EditorFile.
Open-EditorFile ExportData.ps1, ImportData.py
Aucun focus sur la console lors de l'exécution
Les utilisateurs habitués à travailler avec SSMS savent qu’ils peuvent exécuter une requête, puis la réexécuter sans avoir à revenir dans le volet de la requête. Dans ce cas, le comportement par défaut de l'éditeur de code peut vous sembler étrange. Pour garder le focus dans l'éditeur lorsque vous exécutez une commande avec F8, modifiez le paramètre suivant :
"powershell.integratedConsole.focusConsoleOnExecute": false
La valeur par défaut est pour des raisons d'accessibilité.
N’oubliez pas que ce paramètre empêche le focus de passer à la console, même lorsque vous utilisez une commande qui appelle explicitement l’entrée, par exemple .
Exemples SQL PowerShell
Pour utiliser les exemples suivants, vous devez installer le module SqlServer à partir du PowerShell Gallery.
Install-Module -Name SqlServer
Note
Avec la version 21.1.18102 et ultérieure, le module SqlServer prend en charge PowerShell Core 6.2 et versions ultérieures, en plus de Windows PowerShell.
Dans cet exemple, nous utilisons la cmdlet pour obtenir les objets SMO du serveur pour ServerA & ServerB. La sortie par défaut de cette commande inclut le nom de l’instance, la version, le Service Pack et le niveau de mise à jour CU des instances.
Get-SqlInstance -ServerInstance ServerA, ServerB
Voici un exemple de ce à quoi ressemble cette sortie :
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
Le module SqlServer contient un fournisseur appelé SQLRegistration qui vous permet d’accéder programmatiquement aux types de connexions SQL Server enregistrées suivantes :
- serveur Moteur de base de données (serveurs inscrits)
- Serveur de gestion centralisée (CMS)
- Analysis Services
- Services d'intégration
- Services de Génération de Rapports
Dans l’exemple suivant, nous effectuons un dir (alias pour Get-ChildItem) pour obtenir la liste de toutes les instances SQL Server répertoriées dans votre fichier Serveurs inscrits.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse
Voici un exemple de ce à quoi pourrait ressembler cette sortie :
Mode Name
---- ----
- ServerA
- ServerB
- localhost\SQL2017
- localhost\SQL2016Happy
- localhost\SQL2017
Vous pouvez utiliser la cmdlet dans de nombreuses opérations impliquant une base de données ou des objets d’une base de données. Si vous fournissez des valeurs pour les paramètres et , un seul objet de base de données est récupéré. Toutefois, si vous spécifiez uniquement le paramètre, une liste complète de toutes les bases de données de cette instance est retournée.
Voici un exemple de ce à quoi ressemble cette sortie :
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
L’exemple suivant utilise la cmdlet pour récupérer une liste de toutes les bases de données sur l'instance ServerB, puis présente une grille/table (à l'aide de la cmdlet ) pour sélectionner les bases de données à sauvegarder. Une fois que l’utilisateur sélectionne le bouton « OK », seules les bases de données mises en surbrillance sont sauvegardées.
Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On
Cet exemple, là encore, obtient une liste de toutes les instances de SQL Server répertoriées dans votre fichier Serveurs inscrits, puis appelle le Get-SqlAgentJobHistory, qui signale tous les échecs du travail SQL Agent depuis Minuit, pour chaque instance de SQL Server répertoriée.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
Get-SqlAgentJobHistory -ServerInstance $_.Name -Since Midnight -OutcomesType Failed
}
Dans cet exemple, nous effectuons une dir (alias pour Get-ChildItem) pour obtenir la liste de toutes les instances de SQL Server répertoriées dans votre fichier Serveurs inscrits, puis utilisez l’applet de commande Get-SqlDatabase pour obtenir la liste des bases de données pour chacune de ces instances.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
Get-SqlDatabase -ServerInstance $_.Name
}
Voici un exemple de ce à quoi ressemble cette sortie :
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
Signalement des problèmes
Si vous rencontrez des problèmes avec l'extension PowerShell, consultez la documentation de dépannage pour plus d'informations sur le diagnostic et le signalement des problèmes.
Remarque relative à la sécurité
Pour tout problème relatif à la sécurité, cliquez ici.
Contribution au code
Consultez la documentation de développement pour plus de détails sur la façon de contribuer à cette extension.
Chargés de maintenance
- Keith Hill@r_keith_hill
- Tyler Leonhardt – @TylerLeonhardt
- Rob Holt
Licence
Cette extension est accordée sous licence MIT. Pour plus de détails sur les binaires tiers que nous incluons avec les versions de ce projet, consultez le fichier Mentions tierces.
Code de conduite
Ce projet a adopté le Code de conduite Open Source Microsoft.
Pour plus d’informations, consultez le FAQ sur le Code de conduite.