Important
Azure Data Studio は2026年28月28日時点で廃止されます。 Visual Studio Codeに移行する必要があります。 詳細については、「Azure Data Studio の最新情報」を参照してください。
この拡張機能は、Azure Data Studio で豊富な PowerShell エディターのサポートを提供します。 これで、Azure Data Studioが提供する優れた IDE に似たインターフェイスを使用して、PowerShell スクリプトを記述およびデバッグできるようになりました。
PowerShell の拡張機能
Features
- 構文の強調表示
- コード断片
- コマンドレット用の IntelliSense およびその他の機能
- PowerShell Script Analyzer で提供されるルールベースの分析
- コマンドレットと変数の定義に進む
- コマンドレットと変数のリファレンスを探す
- ドキュメントとワークスペースのシンボル検出
- F8 キーを使用して選択した PowerShell コードの選択を実行する
- CtrlF1 キーを使用してカーソルの下にあるシンボルのオンライン ヘルプを起動する
- 基本的な対話型コンソールのサポート
拡張機能のインストール
powerShell 拡張機能の公式リリースは、Azure Data Studio ドキュメントの手順に従ってインストールできます。 [機能拡張] ウィンドウで「PowerShell」の拡張機能を検索し、そこでインストールします。 今後の拡張機能の更新に関する通知が自動的に届きます。
リリース ページから VSIX パッケージをインストールし、コマンド ラインからインストールすることもできます。
azuredatastudio --install-extension PowerShell-<version>.vsix
プラットフォームのサポート
- Windows 7 から 10 での Windows PowerShell v3 以降、および PowerShell Core
- PowerShell Core がインストールされた Linux (PowerShell がサポートされているすべてのディストリビューション)
- PowerShell Core がインストールされた macOS
よく寄せられる質問の回答については、「FAQ」を参照してください。
PowerShell Core のインストール
macOS または Linux でAzure Data Studioを実行している場合は、PowerShell Core のインストールが必要になる場合もあります。
PowerShell Core は、GitHub 上のオープン ソース プロジェクトです。 PowerShell Core を macOS または Linux プラットフォームにインストールする方法の詳細については、次の記事を参照してください。
- Linux に PowerShell Core をインストールする
- macOS に PowerShell Core をインストールする
スクリプトの例
拡張機能の フォルダーには、PowerShell の編集およびデバッグ機能を確認するために使用できるスクリプトの例がいくつかあります。 これらの使用方法の詳細については、付属の README.md ファイルを参照してください。
このフォルダーは次のパスにあります。
$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples
または、拡張機能のプレビュー バージョンを使用している場合は、
$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples
Azure Data Studioで拡張機能の例を開く/表示するには、PowerShell コマンド プロンプトから次のコードを実行します。
azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]
ファイルを作成して開く
エディター内で新しいファイルを作成して開くには、PowerShell 統合ターミナル内から New-EditorFile を使用します。
PS C:\temp> New-EditorFile ExportData.ps1
このコマンドは、PowerShell ファイルだけでなく、あらゆるファイルの種類に使用できます。
PS C:\temp> New-EditorFile ImportData.py
Azure Data Studioで 1 つ以上のファイルを開くには、Open-EditorFile コマンドを使用します。
Open-EditorFile ExportData.ps1, ImportData.py
実行時にコンソールにフォーカスなし
SSMS での作業に慣れているユーザーの場合、クエリを実行できること、そしてクエリ ウィンドウに切り替えることなくクエリを再実行できることに慣れています。 このような場合、コード エディターの既定の動作は奇妙に感じられるかもしれません。 F8 キーを押して実行するときにエディターのフォーカスを維持するには、次の設定を変更します。
"powershell.integratedConsole.focusConsoleOnExecute": false
アクセシビリティのため、既定値は です。
この設定では、 などの入力を明示的に呼び出すコマンドを使用する場合でも、フォーカスがコンソールに変更されないように注意してください。
SQL PowerShell の例
次の例を使用するには、PowerShell ギャラリー から SqlServer モジュールをインストールする必要があります。
Install-Module -Name SqlServer
注
バージョン 21.1.18102 以降では、SqlServer モジュールでは、Windows PowerShell に加えて、PowerShell Core 6.2 以降がサポートされます。
この例では、 コマンドレットを使用して ServerA と ServerB のサーバー SMO オブジェクトを取得します。 このコマンドの既定の出力には、インスタンスのインスタンス名、バージョン、Service Pack、CU 更新レベルが含まれます。
Get-SqlInstance -ServerInstance ServerA, ServerB
出力の例を次に示します。
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
SqlServer モジュールには、SQLRegistration というプロバイダーが含まれています。これにより、次の種類の保存されたSQL Server接続にプログラムでアクセスできます。
- データベース エンジン サーバー (登録済みサーバー)
- 中央管理サーバー (CMS)
- Analysis Services
- 統合サービス
- レポート作成サービス
次の例では、dir (Get-ChildItem のエイリアス) を実行して、登録済みサーバー ファイルに一覧表示されているすべてのSQL Server インスタンスの一覧を取得します。
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse
その出力の例を次に示します。
Mode Name
---- ----
- ServerA
- ServerB
- localhost\SQL2017
- localhost\SQL2016Happy
- localhost\SQL2017
データベースが関係するさまざまな操作に対して、あるいはデータベース内のオブジェクトに対して コマンドレットを使用できます。 パラメーターと パラメーターの両方に値を提供する場合、その 1 つのデータベース オブジェクトだけが取得されます。 ただし、 パラメーターのみを指定すると、そのインスタンス上のすべてのデータベースの完全な一覧が返されます。
出力の例を次に示します。
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
次の例では、 コマンドレットを使用して ServerB インスタンス上のすべてのデータベースの一覧を取得し、( コマンドレットを使用して) グリッド/テーブルを表示して、バックアップするデータベースを選択します。 ユーザーが [OK] ボタンを選択すると、強調表示されているデータベースのみがバックアップされます。
Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On
この例では、ここでも、登録済みサーバー ファイルに一覧表示されているすべてのSQL Server インスタンスの一覧を取得し、Get-SqlAgentJobHistory を呼び出します。このインスタンスは、リストされている各SQL Server インスタンスについて、午前 0 時以降に失敗したすべての SQL エージェント ジョブを報告します。
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
Get-SqlAgentJobHistory -ServerInstance $_.Name -Since Midnight -OutcomesType Failed
}
この例では、dir (Get-ChildItem のエイリアス) を実行して、登録済みサーバー ファイルに一覧表示されているすべてのSQL Server インスタンスの一覧を取得し、Get-SqlDatabase コマンドレットを使用して各インスタンスのデータベースの一覧を取得します。
dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
Get-SqlDatabase -ServerInstance $_.Name
}
出力の例を次に示します。
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
問題の報告
PowerShell 拡張機能に関する問題が発生した場合は、問題の診断と報告の詳細についてはトラブルシューティングのドキュメントを参照してください。
セキュリティに関する注意
セキュリティの問題については、こちらを参照してください。
コードへの貢献
この拡張機能に貢献する方法の詳細については、開発ドキュメントを参照してください。
維持管理者
- キース ヒル@r_keith_hill
- タイラー・レオンハート - @TylerLeonhardt
- Rob Holt
ライセンス
この拡張機能は MIT ライセンスに従ってライセンスが付与されます。 このプロジェクトのリリースに含まれているサードパーティ製バイナリの詳細については、サードパーティに関する通知のファイルを参照してください。
行動規範
このプロジェクトは、「Microsoft のオープン ソースの倫理規定」を採用しています。
詳細については、行動規範に関する FAQ を参照 してください。