適用対象: 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 | なし | このフラグを使用すると、必要に応じて、アンインストール スクリプトでプロンプトを表示せずにコンピューターを再起動できます。 |
次のステップ
次の記事でこれらのコマンドを使用する方法について説明します。