Курсовая работа: Программа, выдающая полную информацию о наличии портов, частоте процессора, оперативной памяти, системного каталога, каталога Windows
Подключение к репозиторию WMI производится с помощью метода ConnectServer:
mSWbemServices = mSWbemLocator. ConnectServer([ServerName], [NameSpace], [User], _
[Password], [Locate], [Authority], [SecurityFlags], [WbemNamedValueSet])
где
ServerName – имя компьютера (если не указано, то локальный компьютер),
NameSpace – пространство имен (если не указано, то пространство по умолчанию),
User – имя пользователя в формате Домен\УчетнаяЗапись (если не указано, то текущий пользователь),
Password – пароль указанного пользователя,
Locate – код локализации (если не указано, то текущий язык),
Authority – имя домена, если он не указан в параметре User (если не указано, то текущий домен),
SecurityFlags – время ожидания подключения,
WbemNamedValueSet – контекстная информация для провайдера, который используется для запроса.
Подключение методом моникера
Моникер – это строка, задающая путь к классу WMI, экземпляр которого должен быть создан. Моникер состоит из обязательного префикса «winmgmts:», необязательных настроек безопасности, необязательного пути к требуемому классу:
Set mSWbemServices = GetObject («winmgmts: [{SecurityOptions}!]\\[Server]\[NameSpace]»)
Пример использования моникера:
' Подключение к пространству имен по умолчанию локального компьютера
Set mSWbemServices0 = GetObject («winmgmts:»)
' Подключение к указанному пространству имен удаленного компьютера
' с указанием метода олицетворения
Set mSWbemServices1 = GetObject («winmgmts: {impersonationLevel=Impersonate}!» & _
«\\MyComputer\Root\CIMv2»)
' Подключение к указанному объекту локального компьютера
' с указанием метода олицетворения и привилегий
Set mSWbemServices2 = GetObject («winmgmts:» & _
«{impersonationLevel=Impersonate, (Shutdown, RemoteShutdown)}!» & _
«\\.\Root\CIMv2: Win32Process. Handle=4»).
Указанные выше методы работают в синхронном и полусинхронном режиме, то есть программа или сценарий не выполняет следующую команду или запрос до тех пор, пока не получит ответ от текущего запущенного метода.
Асинхронное использование объектов репозитория