Visual Studio のエンタープライズ 展開のポリシーを構成する
ポリシーを使用して、Visual Studio の展開と更新の動作の特定の側面を構成できます。 これらの構成の一部は、Visual Studio のインストール済みインスタンスに対して特別であり、一部の構成はグローバルであり、クライアント コンピューター上のすべての Visual Studio インスタンスに適用できます。 次の構成を行うことができます。
- 管理者アクセス許可のないユーザーが Visual Studio の更新または変更を許可されている場合
- サポートされていないコンポーネントをマシンから削除する必要がある
- 他のバージョンまたはインスタンスと共有されている一部のパッケージがインストールされている場所
- パッケージがキャッシュされる場所とかどうかを示す
- 管理者の更新プログラムを有効にする必要があり、その適用方法
- 利用可能な更新プログラム チャネルとクライアントへの表示方法
- 通知の表示方法または表示されない方法
Microsoft Intune 設定カタログ を使用するか、グループ ポリシー エディターなどの従来のツール Visual Studio 管理テンプレート (ADMX) をインポートして、組織全体にグローバル コンピューター全体のポリシーを構成して展開します。 また、クライアント コンピューターでレジストリ値を直接設定することもできます。 インスタンスごとの動作は、通常、クライアント コンピューターで コマンド ライン オプションを使用して制御されます。
レジストリ キー
レジストリには、これらのポリシーを設定できる場所がいくつかあります。 Visual Studio は、エンタープライズ ポリシーが設定されているかどうかを確認するために、次の順序で順番に表示されます。 ポリシー値が検出されるとすぐに、残りのキーは無視されます。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\VisualStudio\Setup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\Setup
(64 ビット オペレーティング システムの場合)
一部のレジストリ値は、まだ設定されていない場合に初めて使用されると自動的に設定されます。 この方法により、後続のインストールで同じ値が使用されるようになります。 これらの値は、2 番目のレジストリ キー (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup
) に格納されます。
次のレジストリ値を設定できます。
インストール、ダウンロード、および更新の動作の制御
このセクションのレジストリ設定では、Visual Studio 製品をダウンロードしてクライアント コンピューターにインストールする方法と場所を制御します。
名前 | 種類 | 既定値 | 説明 |
---|---|---|---|
AllowStandardUserControl |
REG_DWORD |
0 | 管理者権限を持たないユーザーは、インストーラー UIを使用して Visual Studio のインストールを手動で管理できます。1 に設定すると、管理者のアクセス許可を持たないユーザーは、管理者パスワードを指定しなくても、更新プログラムを手動で更新またはロールバックできます。 2 に設定すると、管理者アクセス許可を持たないユーザーは、[ の変更] や [使用可能な ] タブ の [インストール] など、Visual Studio インストーラーのすべての機能を手動で使用できます。標準ユーザーは、このポリシーの設定に関係なく、--passive パラメーターまたは --quiet パラメーターを使用して Visual Studio インストーラー コマンドをプログラムで実行することはできません。 このポリシーでは、最新バージョンの Visual Studio 2022 インストーラーをクライアント コンピューターにインストールする必要があります。 |
CachePath |
REG_SZ または REG_EXPAND_SZ |
%ProgramData% \Microsoft \VisualStudio \Packages |
パッケージ マニフェストとペイロード キャッシュ パス: Visual Studio インストーラーでは、このストレージ キャッシュ ディレクトリのパスに 50 文字の制限が適用されます。 詳細については、「パッケージ キャッシュ ページを無効にする、または移動する」を参照してください。 |
KeepDownloadedPayloads |
REG_DWORD |
1 | インストール後にパッケージ ペイロードを保持する: ポリシーを無効にすると、修復または変更したインスタンスのキャッシュされたパッケージ ペイロードが削除されます。 値はいつでも変更できます。 詳細については、「パッケージ キャッシュ ページを無効にする、または移動する」を参照してください。 |
SharedInstallationPath |
REG_SZ または REG_EXPAND_SZ |
%ProgramFiles(x86)% \Microsoft Visual Studio \シェアード |
共有インストール パス: Visual Studio のインスタンスのバージョン間で共有されているパッケージがインストールされているディレクトリ。 この値はいつでも変更できますが、今後のインストールにのみ影響します。 以前の場所に既にインストールされている製品は移動しないでください。または、正しく機能しない可能性があります。 Visual Studio インストーラーでは、パスに 150 文字の制限が適用されます。 |
BackgroundDownloadDisabled |
REG_DWORD |
0 | 更新プログラムのダウンロードを自動的に無効にする: 1 に設定すると、インストールされているすべての Visual Studio 製品の更新プログラムが自動的にダウンロードされなくなります。 値はいつでも変更できます。 |
RemoveOos |
REG_DWORD |
0 | 更新中にサポート外のコンポーネントを削除する: 1 に設定すると、Visual Studio インストーラーは、以降のすべての更新中にサポート外の状態に移行されたすべてのインストール済みコンポーネントを削除します。 0 に設定するか、または完全に不足している場合、removeOos 動作では、コマンド ライン パラメーターや [更新設定] ダイアログなど、この設定を構成できる他の場所が考慮されます。 詳細については、サポート外コンポーネントの削除に関するブログ記事を参照してください。 この機能を使用するには、Visual Studio 2022 バージョン 17.4 インストーラーをクライアント コンピューターにインストールする必要があります。 |
DisableRollback |
REG_DWORD |
0 | Visual Studio の更新をロールバックまたは元に戻す機能を無効にします。1 に設定すると、ユーザーはロールバック機能にアクセスできなくなります。これにより、Visual Studio が最新の更新プログラムを元に戻すことができなくなります。これにより、セキュリティ修正プログラムが含まれる可能性があります。 0 に設定するか、または完全に不足している場合、ユーザーは Visual Studio のロールバック機能にアクセスし、更新を元に戻し、Visual Studio インスタンスを以前にインストールしたバージョンにロールバックできます。 詳細については、ロールバックに関するブログ投稿を参照してください。 |
HideAvailableTab |
REG_DWORD |
0 | インストーラーの [使用可能] タブのを非表示にする: 1 に設定すると、管理者はインストーラーの [使用可能な ] タブを非表示にすることができ、組織内のユーザーが誤って間違った製品をインストールするのを防ぐことができます。 |
DisableSound |
REG_DWORD |
0 | インストーラーのでサウンドを無効にする: 1 に設定すると、ユーザーは Visual Studio インストーラーでサウンドを無効にできます。これにより、インストーラー操作が完了したときやエラーが発生したときにオーディオキューを回避できます。 インストーラーの操作には、インストーラーによって実行されるインストール、更新、変更などの多くの操作や、要求された操作の試行中にエラー ダイアログが含まれます。 0 に設定するか、または完全に欠落している場合、ユーザーはインストーラーでサウンドを再度有効にすることができます。 詳細については、DisableSound ブログ投稿を参照してください。 |
重要
インストール後に CachePath
レジストリ ポリシーを変更する場合は、既存のパッケージ キャッシュを新しい場所に移動し、SYSTEM
と Administrators
に フル コントロール 権限を付与し、Everyone
に 読み取り アクセス権を付与できるように、そのキャッシュがセキュリティで保護されていることを確認する必要があります。
既存のキャッシュの移動またはセキュリティ保護に失敗すると、今後のインストールで問題が発生する可能性があります。
管理者の更新の制御
このセクションのレジストリ設定では、管理者の更新プログラムをクライアント コンピューターに適用するかどうかを制御します。
名前 | 種類 | 既定値 | 説明 |
---|---|---|---|
AdministratorUpdatesEnabled |
REG_DWORD |
0 | 管理者の更新を有効にする: 管理者の更新プログラムをクライアント コンピューターに適用できるようにします。 この値がない場合、または 0 に設定されている場合、管理者の更新はブロックされます。 値が 1 の場合、WSUS/SCCM チャネルを介して展開された更新プログラムでクライアント コンピューターを使用できるようになります。 2 の推奨値により、WSUS/SCCM チャネルまたは Windows Update for Business/Intune/Microsoft Endpoint Manager チャネルを介して展開された更新プログラムをクライアント コンピューターで受信できるようになります。 このレジストリ キーは、管理者ユーザー用です。 詳細については、「管理者の更新を有効にする」を参照してください。 |
AdministratorUpdatesNotifications |
REG_DWORD |
0 | 管理者は、Visual Studio を閉じて管理者の更新のブロックを解除するようユーザーに通知できます。Visual Studio が開いているか使用中の場合、管理者の更新プログラムの適用に失敗します。 このレジストリ キーを設定すると、管理者は、保留中の更新プログラムを適用できるように、Visual Studio を閉じて作業内容を保存するようユーザーに求める Windows トースト通知プロンプトを表示できます。 このレジストリ キーは、管理者ユーザー用です。 詳細については、ブログ投稿のお知らせを参照してください。 |
AdministratorUpdatesOptOut |
REG_DWORD |
0 | 管理者の更新プログラムのオプトアウト: ユーザーが Visual Studio に対する管理者の更新プログラムを受け取ることを望まないことを示します。 レジストリ値または設定値 0 がない場合は、Visual Studio ユーザーが Visual Studio に対する管理者の更新プログラムを受け取る必要があることを意味します。 このポリシーは、開発者ユーザーがクライアント コンピューターに対する管理者アクセス許可を持っている場合に構成するためのポリシーです。 ユーザー設定をエンコードするための AdministratorUpdatesOptOut キーは、IT 管理者の意図をエンコードする AdministratorUpdatesEnabled キーよりも優先されます。 AdministratorUpdatesOptOut が 1 に設定されている場合、AdministratorUpdatesEnabled キーも 1 に設定されている場合でも、更新はクライアントでブロックされます。 このアクションは、IT 管理者がオプトアウトを選択した開発者にアクセスして監視できることを前提としています。その後、両者は、誰のニーズがより重要であるかを話し合うことができます。 IT 管理者は、必要に応じていつでもいずれかのキーを変更できます。 |
UpdateConfigurationFile |
REG_SZ または REG_EXPAND_SZ |
%ProgramData% \Microsoft \VisualStudio \updates.config |
更新プログラムの構成ファイルへのカスタム パス: 管理更新プログラムの構成に使用できるクライアント上のファイルへのパス。 既定では、このファイルは存在せず、ポリシーは設定されていません。 ポリシーをクライアント コンピューターに追加し、カスタム構成ファイルの場所を定義する場合は、管理者の更新プログラムによってこのファイルが検索されます。 ファイルが存在しない場合は、例外が発生し、更新は失敗します。 詳細については、「管理者更新プログラムのを構成する方法」を参照してください。 |
重要
Windows Update for Business の Microsoft Update チャネルを介して Visual Studio 管理者の更新プログラムを受け取るには、Intune で管理されているクラウド接続されたクライアント マシンを Windows Update for Business 用に構成し、[他の Microsoft 製品の更新プログラムを有効にする] にオプトインする必要があります。
更新プログラムのソースの場所の構成
このセクションの設定を使用すると、管理者は、使用できる更新チャネルと、それらがエンタープライズ組織のクライアントにどのように表示されるかをカスタマイズおよび制御できます。 更新プログラムの設定と動作の詳細については、更新プログラムのソースの場所を構成する ドキュメントを参照してください。 この機能を使用するには、クライアントが Visual Studio 2022 インストーラーを利用し、レイアウトが 2021 年 11 月 10 日以降に出荷された 2019 ブートストラッププログラムのバージョンを使用している必要があります。 ガイダンスについては、Visual Studio 2019 レイアウト ドキュメントを使用して、クライアント コンピューターで Visual Studio 2022 インストーラーを取得する方法 参照してください。
このセクションのキーは、Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup レジストリ パスにのみ適用されます
名前 | 種類 | 説明 |
---|---|---|
Channels |
Key |
カスタム レイアウト チャネル情報を格納するためのサブキー パス。 このキーの名前はチャネル名と見なされ、更新チャネルのドロップダウンに表示されます。 ChannelURI 値は、Channels サブキーの下に存在する必要があります。 |
DisabledChannels |
Key |
チャネルを抑制し、[チャネルの更新] ダイアログに表示されないようにするためのサブキー パス。 チャネルがここで定義されている場合 (ChannelURI 値と共に)、ダイアログから除外されます。 |
ChannelURI |
REG_SZ |
Channels Hive に追加して更新チャネル値の一覧に追加するか、DisabledChannels レジストリ Hive に追加することによって更新チャネルの一覧から除外します。 Microsoft でホストされるチャネルの場合、channelURI は https://aka.ms/vs/16/release/channel または https://aka.ms/vs/16/pre/channel です。 レイアウトの場合、この値はレイアウトの ChannelManifest.jsonを指す必要があります。 例を参照してください。 |
Description |
REG_SZ |
チャネルの 2 行のカスタム説明。 既にレイアウトからインストールされている場合は、[設定の更新] UI の既定値は "プライベート チャネル" になり、[説明] を使用して変更できます。 |
IT 管理者が 更新設定 UIをカスタマイズする方法を示すレジストリ ファイルの例を次に示します。
最初のレジストリの例は、\\vslayoutserver3\vs\2019_Enterprise
にあるネットワーク レイアウトからクライアントが以前にインストールしている状況で使用できます。 前述のように、Visual Studio では、このレイアウトのチャネル名が既定で "プライベート チャネル" に設定されます。 このレイアウトのチャネル名と説明をカスタマイズする方法を次に示します。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels\More meaningful name of my existing layout]
"channelUri"="\\\\vslayoutserver3\\vs\\2019_Enterprise\\ChannelManifest.json"
"Description"="Dev Tools based on VS 2019 16.9.Spring.2020 servicing baseline"
更新プログラムのソースとして使用できる他のカスタム更新チャネルのレイアウト エントリをさらに追加する方法と、プレビュー チャネルが表示されないようにする方法を次に示します。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels\Spring 2021 dev toolset]
"channelUri"="\\\\new2019layoutserver\\share\\new2019layout\\ChannelManifest.json"
"Description"="Dev Tools based on VS 2019 16.11.Spring.2021 servicing baseline"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels\Next gen dev tools using VS 2022 toolset]
"channelUri"="\\\\vs2022Layoutserver\\share\\2022Enterprise\\ChannelManifest.json"
"Description"="Developer Tools based on the VS 2022 17.0.Winter.2021 LSTC servicing baseline"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\DisabledChannels\Preview]
"channelUri"="https://aka.ms/vs/16/pre/channel"
Visual Studio IDE での通知の制御
前述のように、Visual Studio は、ネットワーク共有やインターネットなど、インストールされている場所をチェックして、更新プログラムが利用可能かどうかを確認します。 更新プログラムが利用可能になると、Visual Studio は、ウィンドウの右下隅に通知アイコンを使用してユーザーに通知します。
の通知アイコン
エンド ユーザーに更新プログラムの通知を受け取らせないようにする場合は、通知を無効にすることができます。 (たとえば、中央ソフトウェア配布メカニズムを使用して更新プログラムを配信する場合は、通知を無効にすることができます)。
Visual Studio 2019 ではレジストリ エントリがプライベート レジストリに格納されるため、一般的な方法ではレジストリを直接編集することはできません。 ただし、Visual Studio には、Visual Studio の設定の変更に使用できる vsregedit.exe
ユーティリティが含まれています。 通知をオフにするには、次のコマンドを使用します。
vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 0
次のコマンドを使用して、通知を有効に戻すことができます。
vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 1
既定の動作に戻すには、次のコマンドを使用して値を削除することもできます。
vsregedit.exe remove "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override
コマンドを実行して Visual Studio の設定を変更したら、Visual Studio を起動します。 Visual Studio の既に実行されているインスタンスは、Visual Studio がシャットダウンされて再起動されるまで動作を変更しません。 別のオプションとして、コンピューターを再起動して、設定が有効になっていることを確認できます。
次のコマンドを使用して、設定を確認できます。
vsregedit.exe read "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword
値が存在しない場合 (既定の条件)、前のコマンドは値の読み取りに失敗したことを示します。 値を設定した場合、前のコマンドは Visual Studio 構成の値を反映します (0 または 1、または設定されている任意の値を示します。0 または 1 のみが必要です)。
Visual Studio 2022 では、レジストリ エントリがプライベート レジストリに格納されるため、一般的な方法でレジストリを直接編集することはできません。 ただし、Visual Studio には、Visual Studio の設定の変更に使用できる vsregedit.exe
ユーティリティが含まれています。 通知をオフにするには、次のコマンドを使用します。
vsregedit.exe set "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 0
次のコマンドを使用して、通知を有効に戻すことができます。
vsregedit.exe set "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 1
既定の動作に戻すには、次のコマンドを使用して値を削除することもできます。
vsregedit.exe remove "c:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override
コマンドを実行して Visual Studio の設定を変更したら、Visual Studio を起動します。 Visual Studio の既に実行されているインスタンスは、Visual Studio がシャットダウンされて再起動されるまで動作を変更しません。 別のオプションとして、コンピューターを再起動して、設定が有効になっていることを確認できます。
次のコマンドを使用して、設定を確認できます。
vsregedit.exe read "c:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword
値が存在しない場合 (既定の条件)、前のコマンドは値の読み取りに失敗したことを示します。 値を設定した場合、前のコマンドは Visual Studio 構成の値を反映します (0 または 1、または設定されている任意の値を示します。0 または 1 のみが必要です)。
(編集するインストール済みインスタンスと一致するようにディレクトリを置き換えてください)。
ヒント
vswhere.exe を使用して、クライアント ワークステーション上の Visual Studio の特定のインスタンスを検索します。
サポートまたはトラブルシューティング
場合によっては、問題が発生することがあります。 Visual Studio のインストールが失敗した場合は、「Visual Studio のインストールとアップグレードに関する問題のトラブルシューティング」 を参照して、詳細なガイダンスを参照してください。
その他のサポート オプションをいくつか次に示します。
- インストール関連の問題については、インストール チャット (英語のみ) サポート オプションを使用します。
- Visual Studio インストーラーと Visual Studio IDE の両方に表示される 問題の報告 ツールを使用して、製品の問題を報告します。 Visual Studio がインストールされていない IT 管理者の場合は、IT 管理者フィードバックを提出することができます 。
- 機能を提案し、製品の問題を追跡し、Visual Studio Developer Communityで回答を見つけます。