Objeto SWbemLocator
Use os métodos do objeto SWbemLocator para obter um objeto SWbemServices que representa uma conexão com um namespace em um computador local ou em um computador host remoto. Em seguida, use os métodos do objeto SWbemServices para acessar o WMI. Esse objeto pode ser criado pela chamada CreateObject do VBScript.
Membros
O objeto SWbemLocator tem estes tipos de membros:
Métodos
O objeto SWbemLocator tem esses métodos.
Método | Descrição |
---|---|
ConnectServer | Conecta-se ao WMI no computador especificado. |
Propriedades
O objeto SWbemLocator tem essas propriedades.
Propriedade | Tipo de acesso | Descrição |
---|---|---|
Security_ |
Somente leitura |
Usado para ler ou alterar as configurações de segurança. |
Comentários
Na parte superior do modelo de objeto da biblioteca de scripts do WMI está o objeto SWbemLocator. O SWbemLocator é usado para estabelecer uma conexão autenticada com um namespace do WMI, assim como a função GetObject do VBScript e o moniker do WMI "winmgmts:" são usados para estabelecer uma conexão autenticada com o WMI. No entanto, o SWbemLocator foi projetado para abordar dois cenários de script específicos que não podem ser executados usando GetObject e o moniker do WMI. Use o SWbemLocator se precisar:
- Fornecer credenciais de usuário e senha para se conectar ao WMI em um computador remoto. O moniker do WMI usado com a função GetObject não inclui um mecanismo para especificar credenciais. A maioria das atividades do WMI (incluindo todas elas realizadas em computadores remotos) exige direitos de administrador. Se você normalmente fizer logon usando uma conta de usuário normal em vez de uma conta de administrador, não poderá executar a maioria das tarefas do WMI, a menos que execute o script em credenciais alternativas.
- Conecte-se ao WMI se você estiver executando um script do WMI de dentro de uma página da Web. Não é possível usar a função GetObject ao executar scripts inseridos em uma página HTML porque a Internet Explorer não permite o uso de GetObject por motivos de segurança.
Além disso, talvez você queira usar o SWbemLocator para se conectar ao WMI se achar a cadeia de conexão do WMI usada com GetObject confusa ou difícil.
Você usa CreateObject em vez de GetObject para criar uma referência a SWbemLocator. Para criar a referência, passe a função CreateObject para o identificador programático SWbemLocator (ProgID) "WbemScripting.SWbemLocator", conforme mostrado na linha dois no exemplo de script a seguir. Depois de obter uma referência a um objeto SWbemLocator, chame o método ConnectServer para se conectar ao WMI e obter uma referência a um objeto SWbemServices. Isso é demonstrado na linha três do script a seguir.
strComputer = "."
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("Win32_Service")
For Each objSWbemObject In colSWbemObjectSet
Wscript.Echo "Name: " & objSWbemObject.Name
Next
Para executar um script com credenciais alternativas, inclua o nome de usuário e a senha como parâmetros adicionais passados para ConnectServer. Por exemplo, esse script é executado sob as credenciais de um usuário chamado kenmyer, com a senha homerj.
strComputer = "atl-dc-01"
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer _
(strComputer, "root\cimv2", "kenmyer", "homerj")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("Win32_Service")
For Each objSWbemObject In colSWbemObjectSet
Wscript.Echo "Name: " & objSWbemObject.Name
Next
Você também pode usar o formato Domínio\Nome de usuário para especificar um nome de usuário. Por exemplo:
" fabrikam\kenmyer"
Exemplos
O exemplo do PowerShell a seguir usa SWbemLocator para se conectar a um servidor.
$NameSpace = 'root\ccm'
$ComputerName = 'sccm.company.com'
$WbemLocator = New-Object -ComObject "WbemScripting.SWbemLocator"
$WbemServices = $WbemLocator.ConnectServer($ComputerName, $Namespace)
$WbemClasses = $WbemServices.SubclassesOf()
$WbemClasses
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista |
Servidor mínimo com suporte |
Windows Server 2008 |
Cabeçalho |
|
Biblioteca de tipos |
|
DLL |
|
CLSID |
CLSID_SWbemLocator |
IID |
IID_ISWbemLocator |