Azure Data Studio için PowerShell Düzenleyicisi Desteği

Bu uzantı, Azure Data Studio'da zengin PowerShell düzenleyicisi desteği sağlar. Artık Azure Data Studio tarafından sunulan IDE benzeri mükemmel arabirimi kullanarak PowerShell betikleri yazabilir ve hatalarını ayıklayabilirsiniz.

PowerShell extension

Özellikler

  • Söz dizimi vurgulaması
  • Kod parçacıkları
  • Cmdlet'ler ve daha fazlası için IntelliSense
  • PowerShell Betik Çözümleyicisi tarafından sağlanan kural tabanlı analiz
  • Cmdlet'lerin ve değişkenlerin tanımına gidin
  • Cmdlet'lerin ve değişkenlerin Başvurularını Bulma
  • Belge ve çalışma alanı simgesi bulma
  • F8 kullanarak seçili PowerShell kodu seçimini çalıştırma
  • Ctrl+F1 kullanarak imlecin altındaki simge için çevrimiçi yardım başlatma
  • Temel etkileşimli konsol desteği!

Uzantıyı Yükleme

Azure Data Studio belgelerindeki adımları izleyerek PowerShell uzantısının resmi sürümünü yükleyebilirsiniz. Uzantılar bölmesinde "PowerShell" uzantısını arayın ve buraya yükleyin. Gelecekteki uzantı güncelleştirmeleri hakkında otomatik olarak bilgilendirilirsiniz!

Ayrıca Yayınlar sayfamızdan bir VSIX paketi yükleyebilir ve komut satırı aracılığıyla yükleyebilirsiniz:

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

Platform desteği

  • Windows PowerShell v3 ve üzeri yüklü Windows 7 ile 10 arasında ve PowerShell Core
  • PowerShell Core ile Linux (PowerShell tarafından desteklenen tüm dağıtımlar)
  • PowerShell Core ile macOS

Sık sorulan soruların yanıtları için SSS bölümünü okuyun.

PowerShell Core'u yükleme

MacOS veya Linux üzerinde Azure Data Studio çalıştırıyorsanız PowerShell Core'u da yüklemeniz gerekebilir.

PowerShell Core, GitHub'da bir Açık Kaynak projesidir. PowerShell Core'u macOS veya Linux platformlarına yükleme hakkında daha fazla bilgi için aşağıdaki makalelere bakın:

Örnek Betikler

Uzantının examples klasöründe PowerShell düzenleme ve hata ayıklama işlevlerini keşfetmek için kullanabileceğiniz bazı örnek betikler vardır. Bunların nasıl kullanılacağı hakkında daha fazla bilgi edinmek için eklenen README.md dosyasına göz atın.

Bu klasör aşağıdaki yolda bulunabilir:

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

veya uzantının önizleme sürümünü kullanıyorsanız

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

Uzantının örneklerini Azure Data Studio'da açmak/görüntülemek için PowerShell komut isteminizden aşağıdaki kodu çalıştırın:

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

Dosya oluşturma ve açma

Düzenleyicide yeni bir dosya oluşturmak ve açmak için PowerShell Tümleşik Terminali'nin içinden New-EditorFile dosyasını kullanın.

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

Bu komut yalnızca PowerShell dosyaları için değil, herhangi bir dosya türünde çalışır.

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

Azure Data Studio'da bir veya daha fazla dosya açmak için komutunu kullanın Open-EditorFile .

Open-EditorFile ExportData.ps1, ImportData.py

Yürütülürken konsola odaklanma yok

SSMS ile çalışmaya alışkın olan kullanıcılar için bir sorguyu yürütmeye ve ardından sorgu bölmesine geri dönmek zorunda kalmadan yeniden yürütmeye alışmış olursunuz. Bu durumda, kod düzenleyicisinin varsayılan davranışı size garip gelebilir. F8 ile yürütürken odağı düzenleyicide tutmak için aşağıdaki ayarı değiştirin:

"powershell.integratedConsole.focusConsoleOnExecute": false

Varsayılan, erişilebilirlik amacıyla kullanılır true .

Bu ayarın, gibi Get-Credentialaçıkça giriş çağrısında bulunan bir komut kullandığınızda bile odağın konsola geçmesini önlediğini unutmayın.

SQL PowerShell Örnekleri

Bu örnekleri (aşağıda) kullanmak için sqlserver modülünü PowerShell Galerisi yüklemeniz gerekir.

Install-Module -Name SqlServer

Dekont

Sürüm 21.1.18102 ve üstü ile SqlServer modül, Windows PowerShell'e ek olarak PowerShell Core 6.2 ve üstü sürümleri destekler.

Bu örnekte, ServerA ve ServerB için Sunucu SMO nesnelerini almak için cmdlet'ini kullanırız Get-SqlInstance . Bu komutun varsayılan çıktısı örneklerin Örnek adı, sürümü, Hizmet Paketi ve CU Güncelleştirme Düzeyi'ni içerir.

Get-SqlInstance -ServerInstance ServerA, ServerB

Bu çıktının nasıl görüneceğine dair bir örnek aşağıda verilmiştir:

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

Modül, SqlServer aşağıdaki kaydedilmiş SQL Server bağlantısı türlerine programlı olarak erişmenizi sağlayan adlı SQLRegistration bir Sağlayıcı içerir:

  • Veritabanı Altyapısı Sunucusu (Kayıtlı Sunucular)
  • Merkezi Yönetim Sunucusu (CMS)
  • Analysis Services
  • Tümleştirme Hizmetleri
  • Raporlama Hizmetleri

Aşağıdaki örnekte, Kayıtlı Sunucular dosyanızda listelenen tüm SQL Server örneklerinin listesini almak için bir dir (diğer Get-ChildItemad) yapacağız.

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

Bu çıkışın nasıl görünebileceğine dair bir örnek aşağıda verilmiştir:

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

Bir veritabanını veya veritabanındaki nesneleri içeren birçok işlem için Get-SqlDatabase cmdlet kullanılabilir. hem -Database hem de -ServerInstance parametreleri için değerler sağlarsanız, yalnızca bu veritabanı nesnesi alınır. Ancak, yalnızca parametresini -ServerInstance belirtirseniz, bu örnekteki tüm veritabanlarının tam listesi döndürülür.

Bu çıktının nasıl görüneceğine dair bir örnek aşağıda verilmiştir:

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

Bu sonraki örnek, ServerB örneğindeki tüm veritabanlarının Get-SqlDatabase listesini almak için cmdlet'ini kullanır, ardından yedeklenecek veritabanlarını Out-GridView seçmek için bir kılavuz/tablo (cmdlet'i kullanarak) sunar. Kullanıcı "Tamam" düğmesine tıkladıktan sonra yalnızca vurgulanan veritabanları yedeklenir.

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

Bu örnek, Kayıtlı Sunucular dosyanızda listelenen tüm SQL Server örneklerinin listesini alır ve listelenen Get-SqlAgentJobHistory her SQL Server örneği için Midnight'dan bu yana başarısız olan her SQL Aracısı İşini çağırır.

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

Bu örnekte, Kayıtlı Sunucular dosyanızda listelenen tüm SQL Server örneklerinin listesini almak için bir dir (diğer Get-ChildItemad) yapacak ve ardından cmdlet'ini kullanarak Get-SqlDatabase bu örneklerin veritabanlarının listesini alacağız.

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

Bu çıktının nasıl görüneceğine dair bir örnek aşağıda verilmiştir:

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

Sorunları Bildirme

PowerShell Uzantısı ile ilgili herhangi bir sorunla karşılaşırsanız sorunları tanılama ve raporlama hakkında bilgi için sorun giderme belgelerine bakın.

Güvenlik Notu

Güvenlik sorunları için buraya bakın.

Koda Katkıda Bulunma

Bu uzantıya nasıl katkıda bulunabileceğiniz hakkında daha fazla bilgi için geliştirme belgelerine göz atın!

Bakımcılar

Lisans

Bu uzantı MIT Lisansı kapsamında lisanslanır. Bu projenin sürümlerine dahil ettiğimiz üçüncü taraf ikili dosyaları hakkında ayrıntılı bilgi için üçüncü taraf bildirimler dosyasına bakın.

Kullanım Kuralları

Bu projede Microsoft Açık Kaynak Kullanım Şartları kabul edilmiştir. Daha fazla bilgi için Code of Conduct FAQ (Kullanım Kuralları Hakkında SSS) konusuna bakın veya sorularınızı ya da görüşlerinizi bildirmek için opencode@microsoft.com adresinden bize ulaşın.