Windows PowerShellの Azure Active Directory モジュールでスクリプトを実行できない

この記事では、Windows PowerShellの Azure Active Directory モジュールでスクリプトを実行しようとするとエラー メッセージが表示される問題について説明します。

元の製品バージョン: Microsoft Entra ID、Microsoft Intune、Azure Backup、Office 365 ユーザーとドメイン管理、Office 365 Identity Management
元の KB 番号: 2411920

現象

Windows PowerShell Microsoft Azure Active Directoryモジュールでスクリプトを実行しようとすると、次のいずれかのエラー メッセージが表示されます。

ファイル C:\my_script.ps1 を読み込むことができません。 このシステムでは、スクリプトの実行が無効になっています。 詳細については、「Get-Help about_signing」を参照してください。

このシステムでは実行中のスクリプトが無効になっているため、ファイル C:\Desktop\myscript.ps1 を読み込むことができません。 詳細については、 のabout_Execution_Policiesに関するページを http://go.microsoft.com/fwlink/?LinkID=135170参照してください。

ファイル C:\my_script.ps1 を読み込むことができません。 ファイル C:\my_script.ps1 はデジタル署名されていません。 スクリプトはシステムでは実行されません。 詳細については、 のabout_Execution_Policiesに関するページを http://go.microsoft.com/fwlink/?LinkID=135170参照してください。

原因

この問題は、次のいずれかの要因が当てはまる場合に発生する可能性があります。

  • 使用している PowerShell バージョンが 5.1 より大きい。 Azure Active Directory モジュールは、PowerShell 3 から 5.1 でのみ機能します。
  • 実行ポリシーが [制限付き] に設定されています。 ポリシーが制限されすぎると、特定のWindows PowerShellコマンドレットを実行できません。

解決方法

この問題を解決するには、次の手順を実行します。

  1. を実行 $PSVersionTableして PowerShell のバージョンを特定します。

  2. 管理者としてWindows PowerShellするための Azure Active Directory モジュールを実行します。 これを行うには、[スタート] を選択し、[すべてのプログラム] を選択し、[Windows Azure Active Directory] を選択し、Windows PowerShellの [Windows Azure Active Directory モジュール] を右クリックして、[管理者として実行] を選択します。

  3. 実行ポリシーを [無制限] に設定します。 これを行うには、次のコマンドレットを入力し、Enter キーを押します。

    Set-ExecutionPolicy Unrestricted
    
  4. 必要なWindows PowerShellコマンドレットを実行します。

  5. 実行ポリシーを [制限あり] に設定します。 これを行うには、次のコマンドレットを入力し、Enter キーを押します。

    Set-ExecutionPolicy Restricted
    

詳細

より安全なコマンド ライン管理エクスペリエンスを提供するために、Windows PowerShellでは "実行ポリシー" を使用して、Windows PowerShellの使用方法を制御します。 実行ポリシーは、Windows PowerShellが実行と構成のためにファイルを読み込む制限を定義します。 Windows PowerShellは、既定で制限付き実行ポリシーで実行されます。 このモードは、最も安全なモードです。 このモードでは、Windows PowerShellは対話型シェルとしてのみ動作します。

4 つの実行ポリシーは次のとおりです。

  • Restricted は、既定の実行ポリシーです。 このポリシーはスクリプトを実行せず、対話型のみです。
  • AllSigned ポリシーはスクリプトを実行します。 すべてのスクリプトと構成ファイルは、信頼できる発行元によって署名されている必要があります。 このポリシーを使用すると、発行元を信頼していることを確認した後で、署名されたが悪意のあるスクリプトが実行されるリスクが発生します。
  • RemoteSigned ポリシーはスクリプトを実行します。 通信アプリケーションからダウンロードされたすべてのスクリプトと構成ファイルは、信頼できる発行元によって署名されている必要があります。 これらの通信アプリケーションには、Microsoft Outlook、Windows インターネット エクスプローラー、Outlook Express、および Windows Messenger が含まれます。 このポリシーにより、これらのアプリケーションからダウンロードされていない悪意のあるスクリプトが実行されるリスクが発生します。 また、この状況ではメッセージは表示されません。
  • 無制限のポリシーでは、スクリプトが実行されます。 通信アプリケーションからダウンロードされたすべてのスクリプトと構成ファイルは、ファイルがインターネットから送信されたことを確認した後に実行されます。 これらの通信アプリケーションには、Outlook、インターネット エクスプローラー、Outlook Express、および Windows Messenger が含まれます。 デジタル署名は必要ありません。 このポリシーにより、これらのアプリケーションからダウンロードされた署名されていない悪意のあるスクリプトが実行されるリスクが発生します。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。