Partager via


Méthode IBitsTokenOptions ::SetHelperToken (bits4_0.h)

Définit le jeton d’assistance pour emprunter l’identité du jeton du client COM. Étant donné qu’une application définit le jeton via l’emprunt d’identité COM, le jeton n’est pas persistant et est valide uniquement pendant la durée de vie d’une session. Lorsque le service BITS reçoit une notification de déconnexion, le service BITS ignore tous les jetons d’assistance associés au travail de transfert.

Syntaxe

HRESULT SetHelperToken();

Valeur de retour

La valeur suivante peut être retournée :

Code/valeur de retour Description
CO_E_FAILEDTOIMPERSONATE
0x80010123
Les paramètres COM sur le client n’autorisent pas l’accès au jeton client au niveau de l’emprunt d’identité.
E_ACCESSDENIED
0x80070005
  • Dans les versions antérieures à Windows 10, version 1607, le travail n’appartient pas à un administrateur. Dans ces versions de Windows, seuls les travaux appartenant à l’administrateur peuvent définir des jetons d’assistance.
  • Dans Windows 10, version 1607 et versions ultérieures, cette erreur indique que le jeton d’assistance dispose de privilèges d’administrateur, mais que l’appelant ne dispose pas de privilèges d’administrateur.

Remarques

Le jeton d’assistance n’a pas besoin de représenter un administrateur.

Le niveau d’emprunt d’identité pour la couverture proxy doit être défini sur RPC_C_IMP_LEVEL_IMPERSONATE ou RPC_C_IMP_LEVEL_DELEGATE. Pour plus d’informations, consultez Négociation de couverture de sécurité.

L’indicateur de verrouillage doit être défini sur EOAC_DYNAMIC_CLOAKING, ce qui permet au serveur COM d’utiliser le jeton de thread comme identité du client. Pour plus d’informations, consultez Cloaking and EOLE_AUTHENTICATION_CAPABILITIES Enumeration.

Les implémentations plus anciennes devaient effectivement que les utilisateurs BITS disposent de privilèges d’administrateur pour définir des jetons d’assistance. À compter de Windows 10, version 1607, les utilisateurs BITS non-administrateur peuvent utiliser IBitsTokenOptions ::SetHelperToken pour définir des jetons d’assistance non-administrateur sur les travaux BITS qu’ils possèdent. Cette modification permet aux utilisateurs BITS non-administrateurs (tels que les services de téléchargement en arrière-plan s’exécutant sous le compte NetworkService) de définir des jetons d’assistance.

Plus précisément, l’implémentation a été modifiée pour permettre aux utilisateurs sans privilèges d’administrateur de définir des jetons d’assistance, tant que le SID du jeton du thread de l’appelant est identique au SID du compte d’utilisateur du propriétaire du travail pendant l’appel IBackgroundCopyJob ::QueryInterface et que le jeton d’assistance défini n’a pas le SID d’administrateur (DOMAIN_ALIAS_RID_ADMINS) activé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7
Serveur minimal pris en charge Windows Server 2008 R2
Plateforme cible Windows
En-tête bits4_0.h
Composant redistribuable Windows Management Framework sur Windows Vista avec SP1, Windows Vista avec SP2 et Windows Server 2008 avec SP2

Voir aussi

IBitsTokenOptions