PowerShell Editor-ondersteuning voor Azure Data Studio
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
- Syntaxismarkering
- Codefragmenten
- IntelliSense voor cmdlets en meer
- Analyse op basis van regels van PowerShell Script Analyzer
- Ga naar de definitie van cmdlets en variabelen
- Verwijzingen van cmdlets en variabelen zoeken
- 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)
- Analysis Services
- Integratieservices
- Reporting Services
In het volgende 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.
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.
Maintainers
- Keith Hill - @r_keith_hill
- Tyler Leonhardt - @TylerLeonhardt
- Rob Holt
Licentie
Deze extensie is gelicentieerd onder de MIT-licentie. Zie het bestand met kennisgevingen van derden voor meer informatie over de binaire bestanden van derden die we opnemen met releases van dit project.
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.