VSCodeのターミナルを管理者権限で開く方法について

採用はこちら

VS Codeの統合ターミナルを管理者権限で使用したい場合は、基本的にVS Code自体を管理者として起動します。

VS Codeの統合ターミナルは、VS Code本体と同じ権限で動作するためです。

そのため、WindowsでVS Codeを管理者として起動したうえでPowerShellやコマンドプロンプトを開けば、統合ターミナルも管理者権限で使用できます。

一方で、普段のWeb開発では管理者権限が必要になるケースはそれほど多くありません。

セキュリティ上のリスクもあるため、必要なときだけ管理者権限を利用するのがおすすめです。

目次

VS Codeを管理者として起動する方法

スタートメニューから管理者として実行する

もっとも簡単なのは、WindowsのスタートメニューからVS Codeを管理者として起動する方法です。

まず、起動しているVS Codeを終了します。

その後、Windowsのスタートメニューを開き、「Visual Studio Code」と検索します。

検索結果に表示された「Visual Studio Code」を右クリックし、「管理者として実行」を選択してください。

ユーザーアカウント制御(UAC)の確認画面が表示されたら、「はい」をクリックします。

これでVS Codeが管理者権限で起動します。

VS Codeで新しいターミナルを開く

VS Codeを管理者として起動したら、新しい統合ターミナルを開きます。

メニューバーから、

ターミナル
↓
新しいターミナル

を選択します。

Windowsでは、ショートカットキーの、

Ctrl + Shift + `

から新しいターミナルを作成することもできます。

この状態で開いたPowerShellやコマンドプロンプトは、VS Code本体と同じ管理者権限で実行されます。

VS Codeの統合ターミナルが管理者権限になる仕組み

統合ターミナルはVS Code本体の権限を引き継ぐ

VS Codeの統合ターミナルでは、PowerShellやコマンドプロンプトなどのシェルがVS Code本体の権限で起動します。

そのため、通常権限でVS Codeを起動している場合は、統合ターミナルも基本的に通常権限です。

仕組みを簡単に表すと、次のようになります。

通常権限でVS Codeを起動
↓
PowerShellやCommand Promptを開く
↓
通常権限で実行

一方、VS Codeを管理者として起動すると、次のようになります。

管理者としてVS Codeを起動
↓
PowerShellやCommand Promptを開く
↓
管理者権限で実行

つまり、VS Codeでどのターミナルを選択するかよりも、VS Code自体をどの権限で起動しているかが重要です。

ターミナルの種類を変更しても管理者権限にはならない

Terminal: Select Default Profileはシェルを変更する機能

VS Codeでは、使用するターミナルの種類を変更できます。

まず、

Ctrl + Shift + P

でコマンドパレットを開きます。

続いて、

Terminal: Select Default Profile

を選択します。

環境によって、以下のようなターミナルを選択できます。

PowerShell
Command Prompt
Git Bash
WSL

ただし、PowerShellやCommand Promptを選択しただけで管理者権限になるわけではありません。

この設定は、あくまでも「どのシェルを使用するか」を指定するものです。

管理者権限で使用するには、VS Code自体を管理者として起動する必要があります。

管理者権限になっているか確認する方法

PowerShellで確認する

現在のPowerShellが管理者権限で動作しているか確認したい場合は、次のコマンドを利用できます。

([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(
    [Security.Principal.WindowsBuiltInRole]::Administrator
)

実行結果が、

True

であれば、現在のPowerShellは管理者権限で動作しています。

一方、

False

と表示された場合は、通常権限です。

管理者権限かどうかを確認する方法としては、単純にエラーの有無を見るコマンドよりも、このように現在のWindowsユーザーの権限を明示的に判定する方法のほうが分かりやすいでしょう。

通常権限のVS Codeから管理者PowerShellを開く方法

Start-ProcessとRunAsを利用する

VS Code自体を再起動したくない場合は、通常権限の統合ターミナルから管理者PowerShellを別ウィンドウで起動できます。

PowerShellで、次のコマンドを実行します。

Start-Process powershell -Verb RunAs

実行するとUACの確認画面が表示されます。

「はい」をクリックすると、管理者権限のPowerShellが新しいウィンドウで起動します。

ただし、この方法ではVS Code内の統合ターミナルが管理者権限に切り替わるわけではありません。

動作としては次のようになります。

通常権限のVS Code
↓
通常権限の統合PowerShell
↓
Start-Process powershell -Verb RunAs
↓
別ウィンドウで管理者PowerShellが起動

PowerShell 7を管理者として開く

PowerShell 7がインストールされており、pwshコマンドを利用できる環境であれば、次のコマンドも使用できます。

Start-Process pwsh -Verb RunAs

こちらもUACを通過すると、PowerShell 7が管理者権限で別ウィンドウとして起動します。

コマンドプロンプトを管理者として開く

管理者権限のコマンドプロンプトを開きたい場合は、PowerShellから次のコマンドを実行します。

Start-Process cmd -Verb RunAs

この場合も、VS Codeの統合ターミナル内ではなく、別ウィンドウとして管理者権限のコマンドプロンプトが起動します。

Windows Terminalを管理者として使う方法

Windows Terminalを管理者として起動する

VS Codeの統合ターミナルにこだわらない場合は、Windows Terminalを管理者として起動する方法もあります。

たとえば、

Windowsキー + X

を押し、

ターミナル(管理者)

を選択すると、Windows Terminalを管理者権限で起動できます。

環境によっては、「Windows Terminal(管理者)」などと表示される場合もあります。

プロファイルにelevateを設定する

Windows Terminalでは、プロファイル単位で管理者権限による起動を設定できます。

たとえば、設定ファイルで、

{
    "name": "PowerShell",
    "commandline": "powershell.exe",
    "elevate": true
}

のように、

"elevate": true

を指定すると、そのプロファイルを管理者権限で起動できます。

ただし、これはWindows Terminalの機能です。

VS Codeの統合ターミナルに同じ設定が適用されるわけではありません。

Windows TerminalとVS Codeの統合ターミナルは別のものとして考える必要があります。

VS Codeを毎回管理者として起動する方法

ショートカットの設定を変更する

VS Codeを頻繁に管理者権限で使用する場合は、Windowsのショートカット設定から毎回管理者として起動するよう設定することも可能です。

デスクトップなどにあるVS Codeのショートカットを右クリックし、「プロパティ」を開きます。

続いて、

ショートカット
↓
詳細設定
↓
管理者として実行

の順に進み、「管理者として実行」にチェックを入れます。

設定を保存すると、そのショートカットからVS Codeを起動した場合に管理者権限で起動するようになります。

ただし、VS Codeを常に管理者権限で使用する設定は、基本的にはおすすめしません。

VS Codeを常に管理者として使わないほうがよい理由

ターミナルやプログラムにも高い権限が与えられる

VS Codeを管理者として起動すると、その中から実行するさまざまなプログラムにも高い権限が与えられる可能性があります。

たとえば、

PowerShell
Command Prompt
Git Bash
Node.js
npm
Python
Git
VS Codeのタスク
デバッグ対象のプログラム

などです。

外部から取得したプロジェクトで、

npm install

や、

npm run dev

などを実行すると、プロジェクト内のスクリプトが実行されることがあります。

VS Code自体を管理者として起動している場合、それらの処理も必要以上に強い権限で動作する可能性があります。

そのため、通常の開発作業では一般ユーザー権限を使用し、管理者権限が必要な場面だけ一時的にVS Codeを管理者として起動するのが安全です。

User Setup版ではアップデートに影響することがある

Windows版VS CodeのUser Setupを利用している場合、VS Codeを管理者として起動するとアップデート機能に影響することがあります。

そのため、管理者として常時起動する運用よりも、必要な作業を行うときだけ管理者権限を利用するほうが適しています。

VS Codeで管理者権限が必要になるケース

hostsファイルを編集する場合

Windowsのhostsファイルは、通常、

C:\Windows\System32\drivers\etc\hosts

にあります。

このファイルを保存・変更する場合は、管理者権限が必要になることがあります。

そのため、VS Codeでhostsファイルを直接編集したい場合には、VS Codeを管理者として起動する方法があります。

システムフォルダを編集する場合

以下のようなシステム関連フォルダでは、通常ユーザーによる書き込みが制限されています。

C:\Windows
C:\Program Files
C:\Program Files (x86)

これらのフォルダ内にあるファイルを変更する場合は、管理者権限が必要になる場合があります。

Windowsサービスを操作する場合

Windowsサービスの開始や停止を行う場合にも、管理者権限が必要になることがあります。

たとえば、

net stop サービス名

や、

net start サービス名

などのコマンドです。

システムやネットワーク設定を変更する場合

ファイアウォール、ネットワーク、システム設定などを変更するコマンドでは、管理者権限が必要になることがあります。

ただし、一般的なWebサイトやWebアプリの開発では、常時管理者権限を使う必要はありません。

AppLockerが設定されているPCでは注意する

会社PCでは管理者起動が制限される場合がある

企業や学校などの管理PCでは、AppLockerなどのセキュリティ機能が設定されていることがあります。

このような環境では、VS Codeを管理者として実行できなかったり、特定の機能が制限されたりする場合があります。

自分で管理していないPCでVS Codeを管理者として起動できない場合は、設定を無理に変更するのではなく、システム管理者へ確認するのが適切です。

VS Codeのターミナルを管理者権限で使うときの注意点

必要なときだけ管理者として起動する

VS Codeを管理者として起動する方法は簡単ですが、常時管理者権限で使用する必要はありません。

基本的には、

通常の開発作業
↓
通常権限のVS Code

システムファイルなどを編集するとき
↓
管理者権限のVS Code

というように使い分けるとよいでしょう。

特に、インターネットから取得したプロジェクトや内容を十分に確認していないスクリプトを、管理者権限で実行するのは避けることが大切です。

まとめ

VS Codeの統合ターミナルを管理者権限で使用する場合、もっとも基本的な方法は、VS Code自体を「管理者として実行」することです。

VS Codeを管理者として起動したあとに新しい統合ターミナルを開けば、PowerShellやコマンドプロンプトも基本的に同じ管理者権限で動作します。

一方、通常権限のVS Codeから管理者PowerShellだけを使いたい場合は、

Start-Process powershell -Verb RunAs

を利用し、別ウィンドウで管理者PowerShellを起動する方法があります。

VS Codeを常に管理者として使用すると、ターミナルや実行するプログラムにも必要以上に強い権限を与える可能性があります。

そのため、普段は通常権限でVS Codeを使用し、hostsファイルやシステム関連ファイルの編集など、管理者権限が本当に必要な場合だけ管理者として起動する使い方がおすすめです。

以上、VSCodeのターミナルを管理者権限で開く方法についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次