Obsługa edytora programu PowerShell dla programu Azure Data Studio
To rozszerzenie zapewnia zaawansowaną obsługę edytora programu PowerShell w narzędziu Azure Data Studio. Teraz możesz pisać i debugować skrypty programu PowerShell przy użyciu doskonałego interfejsu przypominającego środowisko IDE dostępnego w narzędziu Azure Data Studio.
Funkcje
- wyróżnianie składni
- Fragmenty kodu
- Funkcja IntelliSense dla poleceń cmdlet i nie tylko
- Analiza oparta na regułach dostarczana przez analizator skryptów programu PowerShell
- Przejdź do pozycji Definicja poleceń cmdlet i zmiennych
- Znajdowanie odwołań do poleceń cmdlet i zmiennych
- Odnajdywanie symboli dokumentu i obszaru roboczego
- Uruchamianie wybranego wyboru kodu programu PowerShell przy użyciu F8
- Uruchamianie pomocy online dla symbolu pod kursorem przy użyciu Ctrl+F1
- Podstawowa obsługa konsoli interakcyjnej!
Instalowanie rozszerzenia
Oficjalną wersję rozszerzenia programu PowerShell można zainstalować, wykonując kroki opisane w dokumentacji narzędzia Azure Data Studio. W okienku Rozszerzenia wyszukaj rozszerzenie "PowerShell" i zainstaluj je tam. Otrzymasz powiadomienie automatycznie o wszelkich przyszłych aktualizacjach rozszerzeń!
Pakiet VSIX można również zainstalować na naszej stronie Wydania i zainstalować go za pomocą wiersza polecenia:
azuredatastudio --install-extension PowerShell-<version>.vsix
Obsługa platform
- System Windows 7 do 10 z programem Windows PowerShell w wersji 3 lub nowszej oraz programem PowerShell Core
- System Linux z programem PowerShell Core (wszystkie dystrybucje obsługiwane przez program PowerShell)
- system macOS z programem PowerShell Core
Przeczytaj często zadawane pytania, aby uzyskać odpowiedzi na często zadawane pytania.
Instalowanie programu PowerShell Core
Jeśli korzystasz z programu Azure Data Studio w systemie macOS lub Linux, może być również konieczne zainstalowanie programu PowerShell Core.
PowerShell Core to projekt open source w witrynie GitHub. Aby uzyskać więcej informacji na temat instalowania programu PowerShell Core na platformach macOS lub Linux, zobacz następujące artykuły:
- Instalowanie programu PowerShell Core w systemie Linux
- Instalowanie programu PowerShell Core w systemie macOS
Przykładowe skrypty
W folderze rozszerzenia examples
znajdują się przykładowe skrypty, których można użyć do odnajdywania funkcji edytowania i debugowania programu PowerShell. Zapoznaj się z dołączonym plikiem README.md , aby dowiedzieć się więcej o sposobie ich używania.
Ten folder można znaleźć w następującej ścieżce:
$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples
lub jeśli używasz wersji zapoznawczej rozszerzenia
$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples
Aby otworzyć/wyświetlić przykłady rozszerzenia w narzędziu Azure Data Studio, uruchom następujący kod w wierszu polecenia programu PowerShell:
azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]
Tworzenie i otwieranie plików
Aby utworzyć i otworzyć nowy plik w edytorze, użyj polecenia New-EditorFile z poziomu zintegrowanego terminalu programu PowerShell.
PS C:\temp> New-EditorFile ExportData.ps1
To polecenie działa dla dowolnego typu pliku, a nie tylko plików programu PowerShell.
PS C:\temp> New-EditorFile ImportData.py
Aby otworzyć co najmniej jeden plik w narzędziu Open-EditorFile
Azure Data Studio, użyj polecenia .
Open-EditorFile ExportData.ps1, ImportData.py
Brak koncentracji uwagi na konsoli podczas wykonywania
Dla tych użytkowników, którzy są przyzwyczajeni do pracy z programem SSMS, jesteś przyzwyczajony do wykonywania zapytania, a następnie jest w stanie wykonać je ponownie bez konieczności przełączania się z powrotem do okienka zapytania. W takim przypadku domyślne zachowanie edytora kodu może wydawać się dziwne. Aby zachować fokus w edytorze podczas wykonywania za pomocą F8 , zmień następujące ustawienie:
"powershell.integratedConsole.focusConsoleOnExecute": false
Wartość domyślna jest true
do celów ułatwień dostępu.
Należy pamiętać, że to ustawienie uniemożliwi zmianę fokusu na konsolę, nawet jeśli używasz polecenia, które jawnie wywołuje dane wejściowe, na przykład Get-Credential
.
Przykłady programu SQL PowerShell
Aby użyć tych przykładów (poniżej), należy zainstalować moduł SqlServer z Galeria programu PowerShell.
Install-Module -Name SqlServer
Uwaga
W przypadku wersji 21.1.18102
i nowszych SqlServer
moduł obsługuje program PowerShell Core 6.2 i nowsze, oprócz programu Windows PowerShell.
W tym przykładzie Get-SqlInstance
używamy polecenia cmdlet do pobierania obiektów SMO serwera dla serwerów ServerA i ServerB. Domyślne dane wyjściowe tego polecenia będą obejmować nazwę wystąpienia, wersję, dodatek Service Pack i poziom aktualizacji CU wystąpień.
Get-SqlInstance -ServerInstance ServerA, ServerB
Oto przykład tego, jak będą wyglądać te dane wyjściowe:
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
Moduł SqlServer
zawiera dostawcę o nazwie SQLRegistration
, który umożliwia programowy dostęp do następujących typów zapisanych połączeń programu SQL Server:
- Serwer aparatu bazy danych (zarejestrowane serwery)
- Serwer zarządzania centralnego (CMS)
- Analysis Services
- Integration Services
- Reporting Services
W poniższym przykładzie wykonamy polecenie dir
(alias dla Get-ChildItem
), aby uzyskać listę wszystkich wystąpień programu SQL Server wymienionych w pliku Zarejestrowanych serwerów.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse
Oto przykładowe dane wyjściowe, które mogą wyglądać następująco:
Mode Name
---- ----
- ServerA
- ServerB
- localhost\SQL2017
- localhost\SQL2016Happy
- localhost\SQL2017
W przypadku wielu operacji obejmujących bazę danych lub obiekty w bazie danych Get-SqlDatabase
można użyć polecenia cmdlet . Jeśli podasz wartości dla parametrów -ServerInstance
i , -Database
zostanie pobrany tylko jeden obiekt bazy danych. Jeśli jednak określisz -ServerInstance
tylko parametr, zostanie zwrócona pełna lista wszystkich baz danych w tym wystąpieniu.
Oto przykład tego, jak będą wyglądać te dane wyjściowe:
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
W następnym przykładzie Get-SqlDatabase
użyto polecenia cmdlet , aby pobrać listę wszystkich baz danych w wystąpieniu SerweraB, a następnie przedstawia siatkę/tabelę (przy użyciu Out-GridView
polecenia cmdlet), aby wybrać, których baz danych należy utworzyć kopię zapasową. Gdy użytkownik kliknie przycisk "OK", kopia zapasowa zostanie utworzona tylko z wyróżnionych baz danych.
Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On
W tym przykładzie zostanie ponownie wyświetlona lista wszystkich wystąpień programu SQL Server wymienionych w pliku Zarejestrowanych serwerów, a następnie wywołaj polecenie Get-SqlAgentJobHistory
, które zgłasza każde zadanie agenta SQL, które zakończyło się niepowodzeniem od północy, dla każdego wystąpienia programu SQL Server na liście.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
Get-SqlAgentJobHistory -ServerInstance $_.Name -Since Midnight -OutcomesType Failed
}
W tym przykładzie wykonamy polecenie dir
(alias ) Get-ChildItem
w celu pobrania listy wszystkich wystąpień programu SQL Server wymienionych w pliku zarejestrowanych serwerów, a następnie użyjemy Get-SqlDatabase
polecenia cmdlet , aby uzyskać listę baz danych dla każdego z tych wystąpień.
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
Get-SqlDatabase -ServerInstance $_.Name
}
Oto przykład tego, jak będą wyglądać te dane wyjściowe:
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
Raportowanie problemów
Jeśli wystąpią jakiekolwiek problemy z rozszerzeniem programu PowerShell, zapoznaj się z dokumentacją rozwiązywania problemów, aby uzyskać informacje na temat diagnozowania i raportowania problemów.
Uwaga dotycząca zabezpieczeń
Aby uzyskać informacje o problemach z zabezpieczeniami, zobacz tutaj.
Współtworzenia kodu
Zapoznaj się z dokumentacją programistycznej, aby uzyskać więcej informacji na temat współtworzenia tego rozszerzenia.
Opiekunów
- Keith Hill - @r_keith_hill
- Tyler Leonhardt — @TylerLeonhardt
- Rob Holt
Licencja
To rozszerzenie jest licencjonowane w ramach licencji MIT. Aby uzyskać szczegółowe informacje na temat plików binarnych innych firm dołączonych do wersji tego projektu, zobacz plik powiadomień innych firm.
Kodeks postępowania
W tym projekcie jest używany Kodeks postępowania firmy Microsoft dla oprogramowania typu open source. Aby uzyskać więcej informacji, zobacz Code of Conduct FAQ (Często zadawane pytania dotyczące kodeksu postępowania) lub wyślij wiadomość e-mail na adres opencode@microsoft.com w przypadku jakichkolwiek dodatkowych pytań lub komentarzy.