Partager via


Objet SWbemObjectPath

Utilisez les méthodes et propriétés de l’objet SWbemObjectPath pour construire et valider un chemin d’accès d’objet. Cet objet ne peut pas être créé par l’appel VBScript CreateObject.

Membres

L’objet SWbemObjectPath présente les types de membres suivants :

Méthodes

L’objet SWbemObjectPath a ces méthodes.

Méthode Description
SetAsClass Force le chemin d’accès à traiter une classe WMI.
SetAsSingleton Force le chemin à adresser une instance WMI singleton.

Propriétés

L’objet SWbemObjectPath a ces propriétés.

Propriété Type d’accès Description
Authority
Lecture/écriture
Chaîne qui définit le composant Authority du chemin d’accès de l’objet.
Classe
Lecture/écriture
Nom de la classe qui fait partie du chemin d’accès de l’objet.
DisplayName
Lecture/écriture
Chaîne qui contient le chemin d’accès dans un formulaire qui peut être utilisé comme nom d’affichage moniker. Consultez Création d’une application ou d’un script WMI.
IsClass
Lecture seule
Valeur booléenne qui indique si ce chemin représente une classe. Cela est analogue à la propriété __Genus dans l’API COM.
IsSingleton
Lecture seule
Valeur booléenne qui indique si ce chemin représente une instance singleton.
Clés
Lecture seule
Un objet SWbemNamedValueSet qui contient les liaisons de valeur de clé.
Paramètres régionaux
Lecture/écriture
Chaîne qui contient les paramètres régionaux de ce chemin d’accès à l’objet.
Espace de noms
Lecture/écriture
Nom de l’espace de noms qui fait partie du chemin d’accès de l’objet. Il s’agit de la même chose que la propriété __Namespace dans l’API COM.
ParentNamespace
Lecture seule
Nom du parent de l’espace de noms qui fait partie du chemin d’accès de l’objet.
Path
Lecture/écriture
Contient le chemin absolu. Il s’agit de la même chose que la propriété système __Path dans l’API COM. Il s’agit de la propriété par défaut de cet objet.
Relpath
Lecture/écriture
Contient le chemin relatif. Il s’agit de la même chose que la propriété système __Relpath dans l’API COM.
Security_
Lecture seule
Utilisée pour lire ou changer les paramètres de sécurité.
Server
Lecture/écriture
Nom du serveur. Il s’agit de la même chose que la propriété système __Server dans l’API COM.

Exemples

L’exemple de code VBScript suivant montre comment générer des chemins d’accès aux objets.

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 ""

L’exemple de code Perl suivant montre comment générer des chemins d’accès aux objets.

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";
}

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
En-tête
Wbemdisp.h
Bibliothèque de types
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemObjectPath
IID
IID_ISWbemObjectPath

Voir aussi

Objets de l’API de script