Objeto SWbemObjectPath
Utilice los métodos y propiedades del objeto SWbemObjectPath para construir y validar una ruta de acceso del objeto. La llamada CreateObject de VBScript puede crear este objeto.
Miembros
El objeto SWbemObjectPath contiene estos tipos de miembros:
Métodos
El objeto SWbemObjectPath tiene estos métodos.
Método | Descripción |
---|---|
SetAsClass | Fuerza la ruta de acceso para abordar una clase WMI. |
SetAsSingleton | Fuerza la ruta de acceso para abordar una instancia de WMI Singleton. |
Propiedades
El objeto SWbemObjectPath tiene estas propiedades.
Propiedad | Tipo de acceso | Descripción |
---|---|---|
Autoridad |
Lectura/escritura |
Cadena que define el componente Authority de la ruta de acceso del objeto. |
Clase |
Lectura/escritura |
Nombre de la clase que forma parte de la ruta de acceso del objeto. |
DisplayName |
Lectura/escritura |
Cadena que contiene la ruta de acceso de un formulario que se puede usar como nombre para mostrar de moniker. Consulte Creación de una aplicación WMI o un script. |
IsClass |
Solo lectura |
Valor booleano que indica si esta ruta de acceso representa una clase. Esto es análogo a la propiedad __Genus de la API COM. |
IsSingleton |
Solo lectura |
Valor booleano que indica si esta ruta de acceso representa una instancia singleton. |
Claves |
Solo lectura |
Objeto SWbemNamedValueSet que contiene los enlaces de valor de clave. |
Configuración regional |
Lectura/escritura |
Cadena que contiene la configuración regional de esta ruta de acceso del objeto. |
Espacio de nombres |
Lectura/escritura |
Nombre del espacio de nombres que forma parte de la ruta de acceso del objeto. Esto es lo mismo que la propiedad __Namespace en la API COM. |
ParentNamespace |
Solo lectura |
Nombre del elemento principal del espacio de nombres que forma parte de la ruta de acceso del objeto. |
Ruta de acceso |
Lectura/escritura |
Contiene la ruta de acceso absoluta. Esto es lo mismo que la propiedad del sistema __Path en la API COM. Esta es la propiedad predeterminada de este objeto. |
Relpath |
Lectura/escritura |
Contiene la ruta de acceso relativa. Esto es lo mismo que la propiedad del sistema __Relpath en la API COM. |
Security_ |
Solo lectura |
Se usa para leer o cambiar la configuración de seguridad. |
Servidor |
Lectura/escritura |
Nombre del servidor. Esto es lo mismo que la propiedad del sistema __Server en la API COM. |
Ejemplos
En el ejemplo de código de VBScript siguiente se muestra cómo crear rutas de acceso del 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 ""
En el ejemplo de código Perl siguiente se muestra cómo crear rutas de acceso del 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 | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Encabezado |
|
Biblioteca de tipos |
|
Archivo DLL |
|
CLSID |
CLSID_SWbemObjectPath |
IID |
IID_ISWbemObjectPath |