次の方法で共有


Windows コンテナーを使用した IoT Edge 用の PowerShell スクリプト

適用対象:はいアイコン IoT Edge 1.1

重要

IoT Edge 1.1 サポート終了日は 2022 年 12 月 13 日でした。 本製品、サービス、テクノロジ、または API のサポート内容については、Microsoft 製品のライフサイクルに関するページをご確認ください。 最新バージョンの IoT Edge への更新の詳細については、「IoT Edgeの更新」を参照してください。

Windows デバイスに IoT Edge をインストール、更新、またはアンインストールする PowerShell スクリプトについて説明します。

この記事で説明するコマンドは、すべての IoT Edge リリースでリリースされるIoTEdgeSecurityDaemon.ps1 ファイルのコマンドです。 最新バージョンのスクリプトは、常に aka.ms/iotedge-win で使用できます。

Invoke-WebRequest コマンドレットを使用して、任意のコマンドを実行して、最新のスクリプト バージョンにアクセスできます。 例えば次が挙げられます。

. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
Deploy-IoTEdge

このスクリプトまたは特定のリリースのスクリプトのバージョンをダウンロードして、コマンドを実行することもできます。 例えば次が挙げられます。

. <path>\IoTEdgeSecurityDaemon.ps1
Deploy-IoTEdge

提供されたスクリプトは、セキュリティを強化するために署名されています。 署名を確認するには、スクリプトをデバイスにダウンロードし、次の PowerShell コマンドを実行します。

Get-AuthenticodeSignature "C:\<path>\IotEdgeSecurityDaemon.ps1"

署名が検証された場合、出力の状態は 有効です

Deploy-IoTEdge

Deploy-IoTEdge コマンドは、IoT Edge セキュリティ デーモンとその依存関係をダウンロードしてデプロイします。 deployment コマンドは、特にこれらの共通パラメーターを受け入れます。 完全な一覧については、コマンド Get-Help Deploy-IoTEdge -fullを使用します。

パラメーター 指定可能な値 コメント
ContainerOs Windows または Linux コンテナー オペレーティング システムが指定されていない場合は、Windows が既定値です。

Windows コンテナーの場合、IoT Edge はインストールに含まれる Moby コンテナー エンジンを使用します。 Linux コンテナーの場合は、インストールを開始する前にコンテナー エンジンをインストールする必要があります。
プロキシ プロキシ URL デバイスがプロキシ サーバーを経由してインターネットに接続する必要がある場合は、このパラメーターを含めます。 詳細については、「IoT Edge デバイスを構成してプロキシ サーバー経由で通信する」を参照してください。
OfflineInstallationPath ディレクトリ パス このパラメーターが含まれている場合、インストーラーは、インストールに必要な IoT Edge cab ファイルと VC ランタイム MSI ファイルの一覧にあるディレクトリを確認します。 ディレクトリに見つからないファイルはダウンロードされます。 両方のファイルがディレクトリ内にある場合は、インターネットに接続せずに IoT Edge をインストールできます。 このパラメーターを使用して、特定のバージョンを使用することもできます。
InvokeWebRequestParameters パラメーターと値のハッシュテーブル インストール中に、いくつかの Web 要求が行われます。 このフィールドを使用して、これらの Web 要求のパラメーターを設定します。 このパラメーターは、プロキシ サーバーの資格情報を構成するのに役立ちます。 詳細については、「IoT Edge デバイスを構成してプロキシ サーバー経由で通信する」を参照してください。
RestartIfNeeded なし このフラグを使用すると、必要に応じて、展開スクリプトでプロンプトを表示せずにマシンを再起動できます。

Initialize-IoTEdge

Initialize-IoTEdge コマンドは、デバイスの接続文字列と操作の詳細を使用して IoT Edge を構成します。 このコマンドによって生成される情報の多くは、iotedge\config.yaml ファイルに格納されます。 初期化コマンドは、特にこれらの共通パラメーターを受け入れます。 完全な一覧については、コマンド Get-Help Initialize-IoTEdge -fullを使用します。

パラメーター 指定可能な値 コメント
ManualConnectionString なし Switch パラメーター既定値。 プロビジョニングの種類が指定されていない場合は、接続文字列を使用した手動プロビジョニングが既定値です。

デバイスを手動でプロビジョニングするためのデバイス接続文字列を指定することを宣言します。
ManualX509 なし Switch パラメーター。 プロビジョニングの種類が指定されていない場合は、接続文字列を使用した手動プロビジョニングが既定値です。

デバイスを手動でプロビジョニングするための ID 証明書と秘密キーを指定することを宣言します。
DpsTpm なし Switch パラメーター。 プロビジョニングの種類が指定されていない場合は、接続文字列を使用した手動プロビジョニングが既定値です。

DPS を介してプロビジョニングする Device Provisioning Service (DPS) スコープ ID とデバイスの登録 ID を指定することを宣言します。
DpsSymmetricKey なし Switch パラメーター。 プロビジョニングの種類が指定されていない場合は、接続文字列を使用した手動プロビジョニングが既定値です。

DPS を介してプロビジョニングする Device Provisioning Service (DPS) スコープ ID とデバイスの登録 ID を、構成証明の対称キーと共に提供することを宣言します。
DpsX509 なし Switch パラメーター。 プロビジョニングの種類が指定されていない場合は、接続文字列を使用した手動プロビジョニングが既定値です。

DPS を介してプロビジョニングする Device Provisioning Service (DPS) スコープ ID とデバイスの登録 ID を、構成証明用の X.509 ID 証明書と秘密キーと共に提供することを宣言します。
DeviceConnectionString IoT Hub に登録されている IoT Edge デバイスからの接続文字列 (一重引用符) 接続文字列を使用した手動プロビジョニングに必要です。 スクリプト パラメーターに接続文字列を指定しない場合は、接続文字列の入力を求められます。
IotHubHostName デバイスが接続する IoT ハブのホスト名。 X.509 証明書を使用した手動プロビジョニングに必要です。 {hub name}.azure-devices.net の形式を取得します。
DeviceId IoT Hub の登録済みデバイス ID からのデバイス ID。 X.509 証明書を使用した手動プロビジョニングに必要です。
ScopeId する IoT Hub に関連付けられている Device Provisioning Service のインスタンスからのスコープ ID。 DPS プロビジョニングに必要です。 スクリプト パラメーターにスコープ ID を指定しない場合は、スコープ ID の入力を求められます。
RegistrationId デバイスによって生成された登録 ID TPM または対称キー構成証明を使用する場合は、DPS プロビジョニングに必要です。 X.509 証明書の構成証明を使用する場合は省略可能です。
X509IdentityCertificate デバイス上の X.509 デバイス ID 証明書への URI パス。 X.509 証明書構成証明を使用する場合は、手動または DPS プロビジョニングに必要です。
X509IdentityPrivateKey デバイス上の X.509 デバイス ID 証明書キーへの URI パス。 X.509 証明書構成証明を使用する場合は、手動または DPS プロビジョニングに必要です。
SymmetricKey DPS の使用時に IoT Edge デバイス ID をプロビジョニングするために使用される対称キー 対称キー構成証明を使用する場合は、DPS プロビジョニングに必要です。
ContainerOs Windows または Linux コンテナー オペレーティング システムが指定されていない場合は、Windows が既定値です。

Windows コンテナーの場合、IoT Edge はインストールに含まれる Moby コンテナー エンジンを使用します。 Linux コンテナーの場合は、インストールを開始する前にコンテナー エンジンをインストールする必要があります。
DeviceCACertificate デバイス上の X.509 デバイス CA 証明書への URI パス。 C:\ProgramData\iotedge\config.yaml ファイルで構成することもできます。 詳細については、「 IoT Edge デバイスで証明書を管理する」を参照してください。
DeviceCAPrivateKey デバイス上の X.509 デバイス CA 秘密キーへの URI パス。 C:\ProgramData\iotedge\config.yaml ファイルで構成することもできます。 詳細については、「 IoT Edge デバイスで証明書を管理する」を参照してください。
InvokeWebRequestParameters パラメーターと値のハッシュテーブル インストール中に、いくつかの Web 要求が行われます。 このフィールドを使用して、これらの Web 要求のパラメーターを設定します。 このパラメーターは、プロキシ サーバーの資格情報を構成するのに役立ちます。 詳細については、「IoT Edge デバイスを構成してプロキシ サーバー経由で通信する」を参照してください。
AgentImage IoT Edge エージェント イメージ URI 既定では、新しい IoT Edge インストールでは、IoT Edge エージェント イメージに最新のローリング タグが使用されます。 このパラメーターを使用して、イメージ バージョンの特定のタグを設定するか、独自のエージェント イメージを指定します。 詳細については、「 IoT Edge タグについて」を参照してください。
ユーザー名 コンテナー レジストリのユーザー名 このパラメーターは、プライベート レジストリ内のコンテナーに -AgentImage パラメーターを設定する場合にのみ使用します。 レジストリへのアクセス権を持つユーザー名を指定します。
パスワード セキュリティで保護されたパスワード文字列 このパラメーターは、プライベート レジストリ内のコンテナーに -AgentImage パラメーターを設定する場合にのみ使用します。 レジストリにアクセスするためのパスワードを指定します。

Update-IoTEdge

パラメーター 指定可能な値 コメント
ContainerOs Windows または Linux コンテナー OS が指定されていない場合は、Windows が既定値です。 Windows コンテナーの場合、コンテナー エンジンがインストールに含まれます。 Linux コンテナーの場合は、インストールを開始する前にコンテナー エンジンをインストールする必要があります。
プロキシ プロキシ URL デバイスがプロキシ サーバーを経由してインターネットに接続する必要がある場合は、このパラメーターを含めます。 詳細については、「IoT Edge デバイスを構成してプロキシ サーバー経由で通信する」を参照してください。
InvokeWebRequestParameters パラメーターと値のハッシュテーブル インストール中に、いくつかの Web 要求が行われます。 このフィールドを使用して、これらの Web 要求のパラメーターを設定します。 このパラメーターは、プロキシ サーバーの資格情報を構成するのに役立ちます。 詳細については、「IoT Edge デバイスを構成してプロキシ サーバー経由で通信する」を参照してください。
OfflineInstallationPath ディレクトリ パス このパラメーターが含まれている場合、インストーラーは、インストールに必要な IoT Edge cab ファイルと VC ランタイム MSI ファイルの一覧にあるディレクトリを確認します。 ディレクトリに見つからないファイルはダウンロードされます。 両方のファイルがディレクトリ内にある場合は、インターネットに接続せずに IoT Edge をインストールできます。 このパラメーターを使用して、特定のバージョンを使用することもできます。
RestartIfNeeded なし このフラグを使用すると、必要に応じて、展開スクリプトでプロンプトを表示せずにマシンを再起動できます。

Uninstall-IoTEdge

パラメーター 指定可能な値 コメント
強制 なし このフラグは、前回のアンインストールが失敗した場合にアンインストールを強制します。
RestartIfNeeded なし このフラグを使用すると、必要に応じて、アンインストール スクリプトでプロンプトを表示せずにコンピューターを再起動できます。

次のステップ

次の記事でこれらのコマンドを使用する方法について説明します。