Partager via


Exécution d’opérations privilégiées à l’aide de VBScript

Si vous utilisez l’API de script pour WMI, vous pouvez définir des privilèges de sécurité spécifiques. Par exemple, vous pouvez définir les privilèges de sécurité pour demander un arrêt du système d’exploitation ou pour examiner le journal des événements de sécurité. Pour plus d’informations, consultez Exécution avec des privilèges spéciaux.

Vous devez uniquement définir des privilèges lorsque vous accédez à WMI sur votre ordinateur. Lorsque vous accédez à un hôte distant, COM RPC définit automatiquement les privilèges. Pour déterminer tous les privilèges requis, consultez la documentation relative aux classes WMI spécifiques auxquelles vous souhaitez accéder, telles que Win32_OperatingSystem. Pour plus d’informations, consultez WbemPrivilegeEnum

Les sections suivantes sont abordées dans cette rubrique :

Définition d’un privilège à partir de l’objet Security_

Utilisez la procédure suivante pour définir des privilèges de sécurité en Visual Basic.

Pour définir des privilèges en Visual Basic

  1. Créez un objet de type SWbemLocator.

  2. Ajoutez le nouveau privilège à l’objet SWbemLocator.Security_.

    L’objet Security_ contient une collection SWbemObjectSet. Les objets dans l’ensemble sont des objets SWbemSecurity. Pour plus d’informations, consultez Accès à une collection.

  3. Connectez-vous à WMI et récupérez un objet SWbemServices.

    L’objet SWbemServices hérite du privilège défini à l’étape précédente.

Vous pouvez également définir un privilège à l’aide de la méthode SWbemPrivilegeSet.AddAsString.

Définition d’un privilège dans le cadre d’un moniker

Vous pouvez définir un privilège dans le cadre d’un moniker.

L'exemple suivant montre comment ajouter un privilège de débogage à un moniker.

Set Service = GetObject("winmgmts:{impersonationLevel=impersonate, (Debug)}")

Révocation et réinitialisation des privilèges

L’exemple suivant montre comment définir le privilège SeDebugPrivilege et révoquer le privilège SeRemoteShutdownPrivilege.

Set Service = GetObject("winmgmts:{impersonate,(Debug,!RemoteShutdown)}")

Constantes de privilèges

Exécution d’opérations privilégiées