Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Azure Data Studio verrà ritirato il 28 febbraio 2026. È consigliabile usare Visual Studio Code. Per altre informazioni sulla migrazione a Visual Studio Code, vedere Che cosa accade in Azure Data Studio?
Questa estensione offre supporto avanzato per l'editor di PowerShell in Azure Data Studio. È ora possibile scrivere ed eseguire il debug di script di PowerShell usando l'eccellente interfaccia simile all'IDE fornita da Azure Data Studio.
Funzionalità
- Evidenziazione della sintassi
- Frammenti di codice
- IntelliSense per i cmdlet e altro ancora
- Analisi basata su regole fornita da PowerShell Script Analyzer
- Passare a Definizione di cmdlet e variabili
- Trova riferimenti ai cmdlet e alle variabili
- Individuazione dei simboli dei documenti e dell'area di lavoro
- Eseguire la selezione selezionata del codice di PowerShell usando F8
- Avviare la Guida online per il simbolo sotto il cursore usando CTRL+F1
- Supporto della console interattiva di base.
Installazione dell'estensione
È possibile installare la versione ufficiale dell'estensione PowerShell seguendo la procedura descritta nella documentazione di Azure Data Studio. Nel riquadro Estensioni cercare l'estensione "PowerShell" e installarla. Si riceverà una notifica automatica su eventuali aggiornamenti futuri dell'estensione.
È anche possibile installare un pacchetto VSIX dalla pagina Versioni e installarlo tramite la riga di comando:
azuredatastudio --install-extension PowerShell-<version>.vsix
Supporto delle piattaforme
- Da Windows 7 a 10 con Windows PowerShell v3 e versioni successive e PowerShell Core
- Linux con PowerShell Core (tutte le distribuzioni supportate da PowerShell)
- macOS con PowerShell Core
Leggere le domande frequenti per le risposte alle domande comuni.
Installazione di PowerShell Core
Se si esegue Azure Data Studio in macOS o Linux, potrebbe anche essere necessario installare PowerShell Core.
PowerShell Core è un progetto open source in GitHub. Per altre informazioni sull'installazione di PowerShell Core in piattaforme macOS o Linux, vedere gli articoli seguenti:
Script di esempio
Nella cartella dell'estensione examples
sono disponibili alcuni script di esempio che è possibile usare per individuare le funzionalità di modifica e debug di PowerShell. Per altre informazioni su come usarli, vedere il file di README.md incluso.
Questa cartella è disponibile nel percorso seguente:
$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples
o se si usa la versione di anteprima dell'estensione
$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples
Per aprire/visualizzare gli esempi dell'estensione in Azure Data Studio, eseguire il codice seguente dal prompt dei comandi di PowerShell:
azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]
Creazione e apertura di file
Per creare e aprire un nuovo file all'interno dell'editor, usare il New-EditorFile dall'interno del terminale integrato di PowerShell.
PS C:\temp> New-EditorFile ExportData.ps1
Questo comando funziona per qualsiasi tipo di file, non solo per i file di PowerShell.
PS C:\temp> New-EditorFile ImportData.py
Per aprire uno o più file in Azure Data Studio, usare il Open-EditorFile
comando .
Open-EditorFile ExportData.ps1, ImportData.py
Nessuna attenzione alla console durante l'esecuzione
Per gli utenti che usano SSMS, si è in grado di eseguire una query e quindi di poterla ripetere senza dover tornare al riquadro della query. In questo caso, il comportamento predefinito dell'editor di codice potrebbe risultare strano. Per mantenere il focus nell'editor quando viene eseguito premendo F8, bisogna apportare la seguente modifica alle impostazioni:
"powershell.integratedConsole.focusConsoleOnExecute": false
Il valore predefinito è true
a scopo di accessibilità.
Tenere presente che questa impostazione impedirà il focus di passare alla console, anche quando si utilizza un comando che richiede esplicitamente l'input, come Get-Credential
.
Esempi di SQL PowerShell
Per usare questi esempi (di seguito), è necessario installare il modulo SqlServer da PowerShell Gallery.
Install-Module -Name SqlServer
Annotazioni
Con versione 21.1.18102
e versioni successive, il SqlServer
modulo supporta PowerShell Core 6.2 e versioni successive, oltre a Windows PowerShell.
In questo esempio viene usato il Get-SqlInstance
cmdlet per ottenere gli oggetti Server SMO per ServerA & ServerB. L'output predefinito per questo comando includerà il nome dell'istanza, la versione, il Service Pack e il livello di aggiornamento CU delle istanze.
Get-SqlInstance -ServerInstance ServerA, ServerB
Di seguito è riportato un esempio dell'aspetto dell'output:
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
Il SqlServer
modulo contiene un provider denominato SQLRegistration
che consente di accedere a livello di programmazione ai tipi seguenti di connessioni di SQL Server salvate:
- Server del motore di database (server registrati)
- Server di gestione centrale (CMS)
- Servizi di analisi
- Servizi di Integrazione
- Servizi di Reportistica
Nell'esempio seguente si eseguirà un'operazione dir
(alias per Get-ChildItem
) per ottenere l'elenco di tutte le istanze di SQL Server elencate nel file server registrati.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse
Di seguito è riportato un esempio dell'aspetto dell'output:
Mode Name
---- ----
- ServerA
- ServerB
- localhost\SQL2017
- localhost\SQL2016Happy
- localhost\SQL2017
Per molte operazioni che coinvolgono un database o gli oggetti all'interno di un database, è possibile usare il cmdlet Get-SqlDatabase
. Se si specificano valori per i -ServerInstance
parametri e -Database
, verrà recuperato solo un oggetto di database. Tuttavia, se si specifica solo il -ServerInstance
parametro , verrà restituito un elenco completo di tutti i database in tale istanza.
Di seguito è riportato un esempio dell'aspetto dell'output:
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
Nell'esempio seguente viene usato il Get-SqlDatabase
cmdlet per recuperare un elenco di tutti i database nell'istanza ServerB, quindi viene visualizzata una griglia o una tabella (usando il cmdlet ) per selezionare i database di cui eseguire il Out-GridView
backup. Quando l'utente fa clic sul pulsante "OK", verrà eseguito il backup solo dei database evidenziati.
Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On
In questo esempio, di nuovo, ottiene l'elenco di tutte le istanze di SQL Server elencate nel file server registrati, quindi chiama il Get-SqlAgentJobHistory
che segnala ogni processo di SQL Agent non riuscito a partire da Mezzanotte, per ogni istanza di SQL Server elencata.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
Get-SqlAgentJobHistory -ServerInstance $_.Name -Since Midnight -OutcomesType Failed
}
In questo esempio, eseguiremo un dir
(alias per Get-ChildItem
) per ottenere l'elenco di tutte le istanze di SQL Server indicate nel file dei server registrati e poi useremo il cmdlet Get-SqlDatabase
per ottenere una lista dei database per ciascuna di queste istanze.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
Get-SqlDatabase -ServerInstance $_.Name
}
Di seguito è riportato un esempio dell'aspetto dell'output:
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
Segnalazione di problemi
Se si verificano problemi con l'estensione PowerShell, vedere la documentazione sulla risoluzione dei problemi per informazioni sulla diagnosi e la segnalazione dei problemi.
Nota sulla sicurezza
Per eventuali problemi di sicurezza, vedere qui.
Contributi al codice
Per altre informazioni su come contribuire a questa estensione, vedere la documentazione sullo sviluppo .
Manutentori
- Keith Hill - @r_keith_hill
- Tyler Leonhardt - @TylerLeonhardt
- Rob Holt
Licenza
Questa estensione è concessa in licenza con la licenza MIT. Per informazioni dettagliate sui file binari di terze parti inclusi nelle versioni di questo progetto, vedere il file di avvisi di terze parti .
Codice di condotta
Questo progetto ha adottato il codice di comportamento open source Microsoft. Per altre informazioni, vedere Code of Conduct FAQ (Domande frequenti sul Codice di comportamento) oppure contattare [email protected] per eventuali altre domande o commenti.