Condividi tramite


Impostazione dell'autenticazione in WMI

Quando si effettuano chiamate all'esterno del processo chiamante o a un servizio WMI remoto, WMI usa la versione distribuita del modello DCOM (Component Object Model). Le chiamate out-of-process e remote vengono effettuate tramite proxy, che richiedono l'autenticazione delle credenziali del processo chiamante.

Impostare il livello di autenticazione quando ci si connette a un computer e a uno spazio dei nomi WMI. Per connettersi a WMI, chiamare IWbemLocator::ConnectServer in C++. In scripting o Visual Basic ci si connette a WMI usando SWbemLocator.ConnectServer o tramite la stringa del moniker . La sicurezza DCOM e WMI richiedono entrambi determinati livelli di autenticazione durante la connessione tra computer. Il livello richiesto è diverso in base al sistema operativo che si esegue la connessione. Per altre informazioni, vedere Connessione a WMI in un computer remoto.

WMI viene in genere eseguito in un host del servizio condiviso e condivide la stessa autenticazione di altri processi nell'host. Per eseguire il processo WMI con un livello di autenticazione diverso, eseguire WMI con il comando winmgmt con l'opzione /standalonehost e impostare in genere il livello di autenticazione per WMI. Per altre informazioni, vedere Gestione della sicurezza WMI.

Per altre informazioni ed esempi di codice su come impostare l'autenticazione per le connessioni WMI, vedere Impostazione del servizio di autenticazione tramite VBScript e Impostazione dell'autenticazione tramite C++. Questi argomenti contengono anche tabelle che elencano le costanti di autenticazione per C++ e scripting.

Uso dei proxy in WMI

Per impostare l'autenticazione per un proxy, chiamare la funzione CoSetProxyBlanket . Per altre informazioni e un esempio di codice, vedere Impostazione della sicurezza in IWbemServices e altri proxy.

L'API COM seguente per gli oggetti WMI usa proxy direttamente in C++ o C# per chiamare un processo o un servizio WMI remoto:

Gli oggetti di scripting, ad esempio SWbemObject, SWbemServices e SWbemRefresher , non usano direttamente proxy. Gli oggetti di scripting rappresentano invece un wrapper o un livello che chiama nell'API COM per gli oggetti WMI elencati in precedenza. Per altre informazioni e un esempio di codice di impostazione dell'autenticazione negli script, vedere Impostazione del livello di sicurezza del processo predefinito tramite VBScript.