Esecuzione di operazioni con privilegi tramite 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.
È sufficiente impostare i privilegi quando si accede a WMI nel computer. Quando si accede a un host remoto, RPC COM imposta automaticamente i privilegi. Per determinare tutti i privilegi necessari, consultare la documentazione relativa alle classi WMI specifiche a cui si vuole accedere, ad esempio Win32_OperatingSystem. Per altre informazioni, vedere WbemPrivilegeEnum
In questo argomento vengono illustrate le sezioni seguenti:
- Impostazione di un privilegio dall'oggetto Security_
- 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.
Per impostare i privilegi in Visual Basic
Creare un oggetto di tipo SWbemLocator.
Aggiungere il nuovo privilegio all'oggetto SWbemLocator.Security_ .
L'oggetto Security_ contiene un insieme SWbemObjectSet. Gli oggetti nel set sono oggetti SWbemSecurity . Per altre informazioni, vedere Accesso a una raccolta.
Accedere a WMI e recuperare 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 SeDebugPrivilege e revocare il privilegio SeRemoteShutdownPrivilege .
Set Service = GetObject("winmgmts:{impersonate,(Debug,!RemoteShutdown)}")
Argomenti correlati