Objeto SWbemObjectPath

Use os métodos e as propriedades do objeto SWbemObjectPath para construir e validar um caminho de objeto. Esse objeto pode ser criado pela chamada CreateObject do VBScript.

Membros

O objeto SWbemObjectPath tem estes tipos de membros:

Métodos

O objeto SWbemObjectPath tem estes métodos.

Método Descrição
SetAsClass Força o caminho a endereçar uma classe WMI.
SetAsSingleton Força o caminho a endereçar uma instância do WMI singleton.

Propriedades

O objeto SWbemObjectPath tem estas propriedades.

Propriedade Tipo de acesso Descrição
Authority
Leitura/gravação
Cadeia de caracteres que define o componente Authority do caminho do objeto.
Classe
Leitura/gravação
Nome da classe que faz parte do caminho do objeto.
DisplayName
Leitura/gravação
Cadeia de caracteres que contém o caminho em um formato que pode ser usado como um nome de exibição de moniker. Confira Criar um script ou aplicativo do WMI
IsClass
Somente leitura
Valor booliano que indica se esse caminho representa uma classe. É análogo à propriedade __Genus na API COM.
IsSingleton
Somente leitura
Valor booliano que indica se esse caminho representa uma instância singleton.
simétricas
Somente leitura
Um objeto SWbemNamedValueSet que contém as associações de valor de chave.
Locale
Leitura/gravação
Cadeia de caracteres que contém a localidade desse caminho de objeto.
Namespace
Leitura/gravação
Nome do namespace que faz parte do caminho do objeto. É o mesmo que a propriedade __Namespace na API COM.
ParentNamespace
Somente leitura
Nome do pai do namespace que faz parte do caminho do objeto.
Path
Leitura/gravação
Contém o caminho absoluto. É o mesmo que a propriedade __Path na API COM. Essa é a propriedade padrão desse objeto.
Relpath
Leitura/gravação
Contém o caminho relativo. É o mesmo que a propriedade __Relpath na API COM.
Security_
Somente leitura
Usado para ler ou alterar as configurações de segurança.
Server
Leitura/gravação
O nome do servidor. É o mesmo que a propriedade __Server na API COM.

Exemplos

O exemplo de código VBScript a seguir demonstra como criar caminhos de objeto.

on error resume next 
Set ObjectPath = CreateObject("WbemScripting.SWbemObjectPath")
ObjectPath.Server = "dingle"
ObjectPath.Namespace = "root/default/something"
ObjectPath.Class = "ho"
ObjectPath.Keys.Add "fred1", 10
ObjectPath.Keys.Add "fred2", -34
ObjectPath.Keys.Add "fred3", 65234654
ObjectPath.Keys.Add "fred4", "Wahaay"
ObjectPath.Keys.Add "fred5", -786186777

if err <> 0 then 
 WScript.Echo err.number
end if 

WScript.Echo "Pass 1:"
WScript.Echo ObjectPath.Path
WScript.Echo ObjectPath.DisplayName
WScript.Echo ""

ObjectPath.Security_.ImpersonationLevel = 3

WScript.Echo "Pass 2:"
WScript.Echo ObjectPath.Path
WScript.Echo ObjectPath.DisplayName
WScript.Echo ""

ObjectPath.Security_.AuthenticationLevel = 5

WScript.Echo "Pass 3:"
WScript.Echo ObjectPath.Path
WScript.Echo ObjectPath.DisplayName
WScript.Echo ""

Set Privileges = ObjectPath.Security_.Privileges
if err <> 0 then
 WScript.Echo Hex(Err.Number), Err.Description
end if
Privileges.Add 8
Privileges.Add 20, false

WScript.Echo "Pass 4:"
WScript.Echo ObjectPath.Path
WScript.Echo ObjectPath.DisplayName
WScript.Echo ""

ObjectPath.DisplayName = "winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktprivacy,(Debug,!IncreaseQuota, CreatePagefile ) }!//fred/root/blah"

WScript.Echo "Pass 5:"
WScript.Echo ObjectPath.Path
WScript.Echo ObjectPath.DisplayName
WScript.Echo ""

O exemplo de código Perl a seguir demonstra como criar caminhos de objeto.

use strict;
use Win32::OLE;
use constant FALSE=>"false";

my ( $ObjectPath, $Privileges );

eval { $ObjectPath = new Win32::OLE 'WbemScripting.SWbemObjectPath'; };
unless($@)
{
 eval
 {
  $ObjectPath->{Server} = "dingle";
  $ObjectPath->{Namespace} = "root/default/something";
  $ObjectPath->{Class} = "ho";
  $ObjectPath->{Keys}->Add("fred1", 10);
  $ObjectPath->{Keys}->Add("fred2", -34);
  $ObjectPath->{Keys}->Add("fred3", 65234654);
  $ObjectPath->{Keys}->Add("fred4", "Wahaay");
  $ObjectPath->{Keys}->Add("fred5", -786186777);
 };
 unless($@)
 {
  print "\n";
  print "Pass 1:\n";
  print $ObjectPath->{Path}, "\n";
  print $ObjectPath->{DisplayName} , "\n\n";

  $ObjectPath->{Security_}->{ImpersonationLevel} = 3 ;

  print "Pass 2:\n";
  print $ObjectPath->{Path}, "\n";
  print $ObjectPath->{DisplayName} , "\n\n";

  $ObjectPath->{Security_}->{AuthenticationLevel} = 5 ;

  print "Pass 3:\n";
  print $ObjectPath->{Path}, "\n";
  print $ObjectPath->{DisplayName} , "\n\n";

  eval { $Privileges = $ObjectPath->{Security_}->{Privileges}; };
  unless($@)
  {
   $Privileges->Add(8);
   $Privileges->Add(20,FALSE);

   print "Pass 4:\n";
   print $ObjectPath->{Path}, "\n";
   print $ObjectPath->{DisplayName} , "\n\n";

   $ObjectPath->{DisplayName} = "winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktprivacy,(Debug,!IncreaseQuota, CreatePagefile ) }!//fred/root/blah";

   print "Pass 5:\n";
   print $ObjectPath->{Path}, "\n";
   print $ObjectPath->{DisplayName} , "\n";
  }
  else
  {
   print STDERR Win32::OLE->LastError, "\n";
  }
 }
 else
 {
  print STDERR Win32::OLE->LastError, "\n";
 }
}
else
{
 print STDERR Win32::OLE->LastError, "\n";
}

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Cabeçalho
Wbemdisp.h
Biblioteca de tipos
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObjectPath
IID
IID_ISWbemObjectPath

Confira também

Criar script de objetos de API