ユーザーとネットワーク接続

BITS は、ジョブ所有者がログオンし、ネットワーク接続が確立されている場合にのみ、ファイルを転送します。 BITS は、ジョブ所有者のセキュリティ コンテキストを使用して転送ジョブを処理します。 ジョブを作成したユーザーは、ジョブの所有者と見なされます。 ただし、管理者特権を持つユーザーは、別のユーザーのジョブの所有権を取得できます。

所有者がログオフするか、ネットワーク接続が失われた場合、BITS はジョブを一時停止します (BITS はネットワーク接続を強制しません)。 所有者が再度ログオンし、ネットワーク接続が確立されると、BITS はジョブを再開します。 ネットワーク接続が確立された後、BITS がデータの転送を開始する前に、短い遅延が発生する可能性があります。

ネットワーク接続が失われた場合、状態が BG_JOB_STATE_QUEUED または BG_JOB_STATE_TRANSFERRING のすべてのジョブは、BG_E_NETWORK_DISCONNECTED エラー コードを使用して BG_JOB_STATE_TRANSIENT_ERROR 状態に遷移します。 ネットワーク接続が確立されると、エラー コードを含む可能性がある BG_JOB_STATE_TRANSIENT_ERROR 状態にあるすべてのジョブが、BG_JOB_STATE_QUEUED 状態に遷移します。

ユーザーがログオンしていることを BITS が検出するには、ユーザーは次の対話型ログオン オプションのいずれかを使用する必要があります。

(RunAs コマンドを使用して) アプリケーションを別のユーザーとして実行することは、対話型ログオンではありません。BITS は、指定されたユーザーに関連付けられているジョブを実行しません。

LocalSystem、LocalService、および NetworkService システム アカウントは常にログオンします。したがって、これらのアカウントを使用してサービスによって送信されたジョブは常に実行されます。 サービス アカウントの使用に関する詳細と制限については、「サービス アカウントと BITS」を参照してください。

ジョブ所有者は、リモート ホストでの認証など、転送を完了するために複数のトークンが必要な状況で使用するヘルパー トークンを提供できます。 詳細については、「BITS 転送ジョブのヘルパー トークン」を参照してください。 以前のバージョンの Windows では、ヘルパー トークンを使用するジョブを開始するには、ジョブ所有者は実質的に管理者特権を持っている必要がありました。 Windows 10バージョン1607では、ヘルパートークンに管理者機能がない限り、BITSジョブの所有者が管理者でなくてもヘルパートークンを設定できるようになりました。 これにより、バックグラウンド ダウンロード ツールや更新ツールを、管理者特権を持つアカウントではなく、低い権限の NetworkService アカウントで実行できるため、これらのツールの脆弱性を小さくすることができます。

制限付きトークン (制限 SID を含むトークン) を持つユーザーは、ジョブを作成したり変更したりすることはできません。