Azure Information Protection(AIP)を有効化しようとして「Connect-AipService を実行してもサインイン画面が出ない」「Azure Information Protection への接続に失敗しました」というエラーに悩まされていませんか。本記事では、PowerShell ISE ではうまくいかないのに、通常の Windows PowerShell コンソールなら成功する理由と、最短で AipService を有効化する具体的な手順、あわせて現場で役立つトラブルシュートを詳しく解説します。
Connect-AipService でサインイン画面が出ない問題の概要
Azure Information Protection(AIP)の有効化は、クラシック AIP ポータルでは GUI から Enable-AipService ボタンを押せましたが、現在は PowerShell での操作が求められるケースが増えています。
ところが、次のような現象に遭遇する管理者は少なくありません。
- PowerShell で
Connect-AipServiceを実行するとすぐに失敗する - 「Azure Information Protection への接続に失敗しました」というエラーが表示される
- 本来表示されるはずの サインイン画面(認証ダイアログ)がまったく出てこない
- PowerShell ISE では失敗するのに、コンソール版 Windows PowerShell では成功する
この「サインイン画面が出ない」タイプの失敗は、単なる資格情報の誤りではなく、多くの場合 PowerShell のホスト環境とモダン認証(対話式サインイン)の相性 に起因します。特に PowerShell ISE は新機能の対象外であり、AipService モジュールなどの最新モダン認証系と組み合わせた際に不具合が起きやすくなっています。
原因の本質:PowerShell ISE とモダン認証の相性問題
Connect-AipService がサインイン画面を出せない主な要因を整理すると次のようになります。
- PowerShell ISE はレガシーなホスト
ISE は Windows PowerShell 5.1 に同梱されているものの、すでに新機能開発の対象外であり、モダン認証 UI の呼び出しや埋め込みブラウザーの動作が不安定になることがあります。 - モダン認証用の UI コンポーネントが正しく描画されない
AipService の対話式サインインは、内部的にブラウザーコンポーネントやポップアップウィンドウを利用しています。ISE のホスト環境ではこれが正常に立ち上がらず、結果として「画面が出ないまま失敗」します。 - 32bit / 64bit やプロファイルの差異
ISE を 32bit で開いている、またはポリシー・アドインの影響などで UI の呼び出しがブロックされるケースも報告されています。
実際、以下のようなパターンが広く報告されています。
| 実行環境 | コマンド | 結果 | 備考 |
|---|---|---|---|
| PowerShell ISE(Windows PowerShell 5.1) | Connect-AipService | 失敗 / サインイン画面が出ない | モダン認証 UI の起動に失敗しやすい |
| Windows PowerShell(コンソール)5.1 | Connect-AipService | 成功 | 推奨パターン |
| PowerShell 7.x(Pwsh) | Connect-AipService | 未サポート / 要回避策 | -UseWindowsPowerShell オプションで回避可能な場合あり |
つまり、エラーの根本原因は AipService そのものではなく、PowerShell ISE というホスト環境で Connect-AipService を実行している点 にあることが多いのです。
最短ルート:コンソール PowerShell から AipService を有効化する手順
ここからは、最も再現性が高くトラブルの少ない「64bit の Windows PowerShell コンソールから AipService を使う」手順を、順を追って解説します。
手順 1:管理者として 64bit Windows PowerShell 5.1 を起動
まずは実行環境を正しく整えます。
- スタートメニューで「Windows PowerShell」を検索
- 「Windows PowerShell」を右クリックし、「管理者として実行」 をクリック
- 可能な限り 64bit の Windows PowerShell 5.1 を使用
バージョン確認には次のコマンドが便利です。
$PSVersionTable.PSVersion
Major が 5、Minor が 1 であれば Windows PowerShell 5.1 です。
手順 2:TLS / NuGet / リポジトリの事前準備
次に、PowerShell ギャラリーからモジュールを取得するための前提条件を整えます。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
ポイントは以下の通りです。
- TLS 1.2 の有効化:古い環境では TLS 1.0 / 1.1 しか有効になっておらず、PowerShell ギャラリーに接続できないことがあります。
- NuGet プロバイダーのインストール:
Install-Module実行時に必須のため、最初に入れておきます。 - PSGallery の信頼設定:毎回確認プロンプトが出るのを避け、スクリプトを安定して実行するための設定です。
手順 3:AipService モジュールのインストール / 更新
続いて、正しいモジュールをインストールします。利用すべきモジュール名は AipService 一択です。
Install-Module -Name AipService -Force
Import-Module AipService
ここでよくある間違いとして、インターネット上の古い記事などを参考に AzureInformationProtection というモジュール名を指定してしまうケースがあります。しかし、PowerShell ギャラリーにはその名前のモジュールは見つからず、インストールに失敗します。
| モジュール名 | 状態 | 用途 |
|---|---|---|
| AipService | 有効 / 正しい | Azure Information Protection サービスの有効化 / 設定 |
| AzureInformationProtection | 見つからない・非推奨 | PowerShell ギャラリーには存在しないため使用しない |
手順 4:Connect-AipService & Enable-AipService 実行
モジュールの読み込みが完了したら、いよいよ AIP への接続と有効化を行います。
Connect-AipService
Enable-AipService
Get-AipService
正常なコンソール環境であれば Connect-AipService 実行時に Microsoft 365 のサインイン画面が表示されます。AIP を有効化する権限を持つ管理者アカウントでサインインしてください。
最後に Get-AipService を実行し、出力の中に次のような結果が含まれていれば有効化は完了です。
Enabled : True
以降はオンボーディング制御ポリシーの設定など、AipService 関連のコマンドが利用できるようになります。
「モジュールが見つからない」「ギャラリーに接続できない」ときの対処
Connect-AipService 以前の段階で、そもそも AipService モジュールのインストールに失敗するケースもあります。この場合は、PowerShell ギャラリーの接続状態やレジストリ設定を確認します。
PSRepository の確認と再登録
まず、現在登録されているリポジトリを確認します。
Get-PSRepository
ここで PSGallery が表示されない、あるいは Untrusted になっている場合は、次のコマンドで再登録します。
Register-PSRepository -Default
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Find-Module AipService
Find-Module AipService でモジュール情報が表示されれば、PowerShell ギャラリーには正しくアクセスできています。
プロキシ環境・SSL インスペクション環境での注意
企業ネットワークでは、インターネット接続がプロキシ経由になっていたり、SSL 通信が検査されていることがあります。その場合、PowerShell ギャラリーや Azure への接続が途中で遮断され、Connect-AipService 実行前に失敗することもあります。
- WinINet(IE/Edge)と WinHTTP のプロキシ設定を確認
- 中間証明書・社内 CA の証明書が、ローカルコンピューターの信頼済みルート証明機関に格納されているか確認
- セキュリティ製品の SSL インスペクションが AIP エンドポイントをブロックしていないか確認
プロキシ設定を確認するための代表的なコマンドは次の通りです。
netsh winhttp show proxy
ここに何も表示されないのにブラウザーではインターネットに出られる場合、WinINet 側にのみプロキシが設定されている可能性があります。必要に応じてネットワーク担当者と調整してください。
モジュール破損・バージョン不整合が疑われる場合
過去に AipService をインストールしており、環境のアップデートや権限変更を経てから動作しなくなった場合は、モジュールの破損やバージョン不整合 を疑います。
既存バージョンの確認とクリーンインストール
まず、現在の AipService モジュール状況を確認します。
Get-Module AipService -ListAvailable
複数バージョンが表示される場合や、期待しないパスにインストールされている場合は、一度すべてアンインストールしてから再インストールするのがおすすめです。
Uninstall-Module AipService -AllVersions
Install-Module AipService
Import-Module AipService
これにより、グローバルに最新の AipService モジュールがクリーンな状態で利用できるようになります。
報告例では、AipService v2.0.0.3 / v3.0.0.1 のいずれでも ISE 上では失敗し、コンソールでは成功 しているため、バージョン差よりも「実行ホスト」の影響の方が大きいと考えられます。とはいえ、一度クリーンな状態にしておくことで、問題切り分けが容易になります。
PowerShell 7 を使いたい場合の回避策
企業によっては、セキュリティポリシーや運用標準として「PowerShell 7(pwsh)を使うこと」が求められることもあります。しかし現時点で AipService は Windows PowerShell 5.1 を前提としているため、PowerShell 7 だけで完結させるのは現実的ではありません。
その場合の回避策が次のコマンドです。
Import-Module AipService -UseWindowsPowerShell
これは、PowerShell 7 から Windows PowerShell 互換モード(Windows Compatibility)を通じて AipService を読み込む方法です。ただし、以下の点に注意してください。
- バックエンドでは結局 Windows PowerShell が呼び出されるため、完全に「PowerShell 7 ネイティブ」というわけではない
- 対話式認証や UI 周りは環境依存であり、すべてのケースで動作が保証されるわけではない
- 公式なサポートや将来の互換性を考えると、重要な操作は Windows PowerShell 5.1 コンソールで行うのが安全
あくまで「どうしても pwsh のシェルを離れたくない場合の回避策」と捉え、恒久的な運用は Windows PowerShell を基準に検討するのが良いでしょう。
組織の情報保護が Microsoft Purview 中心の場合の整理
近年は、Azure Information Protection(AIP)単体ではなく、Microsoft Purview 情報保護(統合ラベル) を中心にラベル管理を行う環境が主流になっています。この場合、次のように役割分担を整理すると理解しやすくなります。
| 領域 | 主なツール / コマンド | 役割 |
|---|---|---|
| AIP サービスの有効化・機能そのもの | Connect-AipService, Enable-AipService, AipService モジュール | AIP サービスをテナントでオンにし、オンボーディング制御などを設定 |
| ラベル / ポリシー 管理(統合ラベル) | Connect-IPPSSession 等(セキュリティ & コンプライアンス PowerShell) | Sensitivity ラベルやポリシーの作成・更新・配布 |
本記事で扱っているのはあくまで AIP サービスの有効化部分 です。ラベルの詳細な管理やポリシーの設計は、Microsoft Purview / セキュリティ & コンプライアンスセンター側の PowerShell コマンドを利用する点に注意してください。
動作確認のチェックリスト
Connect-AipService から Enable-AipService まで実行したあと、環境が正常に整っているかを確認するためのチェックポイントをまとめます。
| チェック項目 | コマンド例 | 期待される結果 |
|---|---|---|
| AIP への接続可否 | Connect-AipService | サインイン画面が表示され、エラーなく終了する |
| AIP サービスの有効化状態 | Get-AipService | Enabled : True と表示される |
| モジュール機能の基本動作 | Get-AipServiceConfiguration など | 構成情報が取得でき、エラーにならない |
| オンボーディング制御ポリシー | Get-AipServiceOnboardingControlPolicy | 対象グループやモードが期待通りか確認できる |
ここまで問題なく実行できていれば、AipService 周りの環境は概ね正常と判断できます。
よくある誤解と注意点
- 誤解:AzureInformationProtection モジュールを使う
実際にはその名前のモジュールは PowerShell ギャラリーで見つからず、インストールに失敗します。使用すべきはAipServiceモジュールである点を改めて押さえておきましょう。 - 誤解:PowerShell ISE でも正式サポートされているはず
ISE は新しい機能の対象外であり、モダン認証を必要とするモジュールとの相性は良くありません。特に サインインダイアログが出ない問題は ISE 固有の現象であることが多いため、コンソールへの切り替えが最も確実な対処です。 - 注意:32bit ISE / 32bit PowerShell に注意
32bit プロセスから実行している場合、認証コンポーネントが正常に動作しない、あるいは別のプロファイルが使われるなどの問題が起こりやすくなります。基本的には 64bit の Windows PowerShell コンソールを使うことをおすすめします。 - 注意:アカウント権限不足
Connect-AipService 自体は接続まで通っても、Enable-AipService の実行にはテナント管理者クラスの権限が必要です。権限不足の場合、「接続はできるが有効化はできない」状態になるため、役割(ロール)を見直してください。
それでも Connect-AipService が失敗する場合に見るべきポイント
コンソール PowerShell で実行しているのに、なお Connect-AipService がサインイン画面を出さずに失敗する場合、次の観点で切り分けを進めます。
- 別の端末・クリーンなユーザープロファイルで試す
ローカルの構成ファイルや IE 設定、古いモジュールなどの影響を切り離すため、可能であれば検証用 PC や新規ユーザープロファイルで同じ手順を試します。 - セキュリティソフト・アプリ制御ポリシー
アプリケーション制御(AppLocker、WDAC 等)や EDR のポリシーによって、外部へのブラウザーウィンドウ起動が制限されているケースがあります。ログを確認し、必要に応じて除外設定を検討してください。 - 時間同期・証明書の有効期限
クライアントのシステム時刻が大きくずれている、またはルート証明書が失効していると、モダン認証が途中でエラーになります。ドメイン環境であれば NTP や証明書配布ポリシーも併せて確認します。 - テナント側で AIP を利用しているかの再確認
テナントによっては完全に Microsoft Purview 情報保護に移行しており、AIP クラシックのコンポーネントが事実上不要な場合もあります。運用ポリシー上、本当に AipService を有効化する必要があるのかを、セキュリティチームと擦り合わせておくと安心です。
まとめ:まずは ISE をやめてコンソールから試す
Connect-AipService 実行時にサインイン画面が出ない問題は、一見すると認証やネットワークの複雑なトラブルに見えます。しかし、多くのケースでは PowerShell ISE 上で実行していること自体が主因 です。
最短で解決するためのポイントを改めて整理すると、以下の通りです。
- PowerShell ISE ではなく、64bit Windows PowerShell 5.1 コンソールを使用する
- モジュール名は AipService を使い、
AzureInformationProtectionは使わない - TLS 1.2 / NuGet / PSGallery の設定を整えてから
Install-Module AipServiceを実行する Connect-AipService→Enable-AipService→Get-AipServiceで Enabled : True になっていることを確認する- 必要に応じて PowerShell 7 では
-UseWindowsPowerShellを併用するが、基本は Windows PowerShell 5.1 を基準にする
これらを押さえておけば、「Azure Information Protection への接続に失敗しました」「サインイン画面が出ない」といったトラブルを素早く切り分け、確実に AipService を有効化できるはずです。

コメント