Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voor bevoegde bewerkingen zijn beveiligingsbevoegdheden vereist, zoals SeLoadDriverPrivilege (wbemPrivilegeLoadDriver- in de Scripting API Constants), een bevoegdheid die moet worden ingeschakeld voor een account dat een apparaatstuurprogramma laadt. U kunt geen bevoegdheden toevoegen aan een beheerder of gebruiker via WMI. U kunt alleen bevoegdheden inschakelen die het account al heeft. Zie Privilege_Constantsvoor een lijst met bevoegdheden.
Standaard kan een lokale gebruiker op een computer statische gegevens lezen uit de WMI-opslagplaats, schrijven naar instanties die door providers worden geleverd en providermethoden uitvoeren, tenzij de provider eigen beveiligingsvereisten afdwingt. Alleen beheerders kunnen verbinding maken met een externe computer, beveiligingsdescriptors wijzigen of statische WMI-opslagplaatsgegevens wijzigen, zoals een WMI-klassedefinitie. Alle bevoegdheden zijn ingeschakeld voor een externe verbinding. Zie Een externe WMI-verbinding beveiligenvoor meer informatie.
De bevoegdheidsconstanten voor C++ verschillen van de constanten die worden gebruikt door automatiseringstalen zoals Visual Basic. Scripts moeten de waarde van de constante gebruiken in plaats van de naam. Zie Bevoegde bewerkingen uitvoeren met behulp van C++ of Het uitvoeren van bevoegde bewerkingen met behulp van VBScript-voor meer informatie.
Een veelvoorkomende oorzaak van geweigerde toegangsfouten bij het gebruik van WMI is het ontbreken van een ingeschakelde bevoegdheid voor bewerkingen, zoals het ophalen van alle exemplaren van Win32_NTEventlogFile. Zonder de SeSecurity-bevoegdheid in te schakelen, hebt u geen toegang tot het beveiligingslogboekbestand.
In het volgende VBScript-codevoorbeeld ziet u hoe u de SeSecurity--bevoegdheid instelt in de monikertekenreeks. Wanneer gebruikt in de moniker, wordt de bevoegdheidsnaam tussen haakjes zonder het eerste 'Se' weergegeven. Zie Een monikertekenreeks makenvoor meer informatie.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Security)}!\\" _
& strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile " _
& "Where LogFileName='Security'")
For Each LogFile in colFiles
Wscript.Echo LogFile.NumberOfRecords
Next
Verwante onderwerpen