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 |
|
Bibliothèque de types |
|
DLL |
|
CLSID |
CLSID_SWbemObjectPath |
IID |
IID_ISWbemObjectPath |