Esecuzione di operazioni con privilegi con VBScript
Se si usa l'API di scripting per WMI, è possibile impostare privilegi di sicurezza specifici. Ad esempio, è possibile impostare i privilegi di sicurezza per richiedere un arresto del sistema operativo o per esaminare il registro eventi di sicurezza. Per altre informazioni, vedere Esecuzione con Privilegi Speciali.
È necessario impostare i privilegi solo quando si accede a WMI nel computer. Quando si accede a un host remoto, COM RPC imposta automaticamente i privilegi. Per determinare tutti i privilegi necessari, consultare la documentazione per le classi WMI specifiche a cui si vuole accedere, ad esempio Win32_OperatingSystem. Per altre informazioni, vedere WbemPrivilegeEnum
Le sezioni seguenti sono descritte in questo argomento:
- Impostazione di un privilegio dall'oggetto Security_
- l'impostazione di un privilegio come parte di un moniker
- revoca e reimpostazione dei privilegi
- argomenti correlati
Impostazione di un privilegio dall'oggetto Security_
Utilizzare la procedura seguente per impostare i privilegi di sicurezza in Visual Basic.
Impostare i privilegi in Visual Basic
Creare un oggetto di tipo SWbemLocator.
Aggiungere il nuovo privilegio all'oggetto SWbemLocator.Security_.
L'oggetto Security_ contiene una collezione SWbemObjectSet. Gli oggetti nel set sono oggetti SWbemSecurity. Per altre informazioni, vedere Accedere a una raccolta.
Accedi a WMI e recupera un oggetto SWbemServices.
L'oggetto SWbemServices eredita il privilegio impostato nel passaggio precedente.
È anche possibile impostare un privilegio usando il metodo SWbemPrivilegeSet.AddAsString.
Impostazione di un privilegio come parte di un moniker
È possibile impostare un privilegio come parte di un moniker.
Nell'esempio seguente viene illustrato come aggiungere un privilegio di debug a un moniker.
Set Service = GetObject("winmgmts:{impersonationLevel=impersonate, (Debug)}")
Revoca e reimpostazione dei privilegi
Nell'esempio seguente viene illustrato come impostare il privilegio di SeDebugPrivilege e revocare il privilegio SeRemoteShutdownPrivilege.
Set Service = GetObject("winmgmts:{impersonate,(Debug,!RemoteShutdown)}")
Argomenti correlati