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 présentées dans cette rubrique :
- Définition d’un privilège à partir de l’objet de sécurité _
- 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 de sécurité _
Utilisez la procédure suivante pour définir des privilèges de sécurité dans Visual Basic.
Pour définir des privilèges dans Visual Basic
Créez un objet de type SWbemLocator.
Ajoutez le nouveau privilège à l’objet SWbemLocator. _ Security .
L’objet de sécurité _ contient une collection SWbemObjectSet . Les objets du jeu 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)}")