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_
- Définition d’un privilège dans le cadre d’un moniker
- Révocation et réinitialisation des privilèges
- Rubriques connexes
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
Créez un objet de type SWbemLocator.
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.
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)}")
Rubriques connexes