SWbemPrivilegeSet-Objekt
Ein SWbemPrivilegeSet-Objekt ist eine Sammlung von SWbemPrivilege-Objekten in einem SWbemSecurity-Objekt, das bestimmte Berechtigungen für ein Objekt der Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI) anfordert. Weitere Informationen finden Sie in der Liste der Berechtigungen unter Berechtigungskonstanten. Elemente werden der Sammlung mit den Methoden Add und AddAsString hinzugefügt. Elemente werden mit der Methode Item aus der Sammlung abgerufen und mit der Methode Remove entfernt. Dieses Objekt kann nicht durch den VBScript-Methodenaufruf CreateObject erstellt werden. Weitere Informationen finden Sie unter Zugreifen auf eine Sammlung.
Ein SWbemPrivilegeSet-Objekt ist ein Satz von Anforderungen zur Außerkraftsetzung von Berechtigungen für ein bestimmtes Objekt. Wenn ein API-Aufruf mit diesem Objekt erfolgt, wird versucht, die Anforderungen zur Außerkraftsetzung von Berechtigungen auszuführen. Das SWbemPrivilegeSet-Objekt definiert nicht die für den aktuellen Benutzer oder Prozess verfügbaren Berechtigungen. Anders ausgedrückt: Das Abrufen der Berechtigungen für ein WMI-Objekt identifiziert nicht die für die Verbindung mit WMI vorgenommenen Berechtigungseinstellungen oder die bei der Übermittlung eines Objekts an eine Senke geltenden Berechtigungen.
Member
Das SWbemPrivilegeSet-Objekt weist die folgenden Typen von Membern auf:
Methoden
Das SWbemPrivilegeSet-Objekt verfügt über die folgenden Methoden.
Methode | BESCHREIBUNG |
---|---|
Hinzufügen | Fügt der SWbemPrivilegeSet-Sammlung mit einer WbemPrivilegeEnum-Konstante ein SWbemPrivilege-Objekt hinzu. |
AddAsString | Fügt der SWbemPrivilegeSet-Sammlung mit einer Berechtigungszeichenfolge ein SWbemPrivilege-Objekt hinzu. |
DeleteAll | Löscht alle Berechtigungen aus der Sammlung. |
Element | Ruft ein SWbemPrivilege-Objekt aus der Sammlung ab. Dies ist die Standardmethode für dieses Objekt. |
Remove | Entfernt ein SWbemPrivilege-Objekt aus der Sammlung. |
Eigenschaften
Das SWbemPrivilegeSet-Objekt weist die folgenden Eigenschaften auf.
Eigenschaft | Zugriffstyp | BESCHREIBUNG |
---|---|---|
Count |
Schreibgeschützt |
Die Anzahl der Elemente in der Auflistung. |
Beispiele
Im folgenden VBScript-Codebeispiel wird ein „SWbemPrivileges“-Objekt abgerufen, und der Sammlung werden alle verfügbaren Berechtigungen nach dem in WbemPrivilegeEnum definierten Berechtigungswert hinzugefügt.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" _
& strComputer & "\root\cimv2")
set colPrivileges = objWMIService.Security_.Privileges
For I = 1 To 27
colPrivileges.Add(I)
Next
' Display information about each privilege
For Each objItem In colPrivileges
wscript.echo objItem.Identifier & vbtab & objItem.Name _
& vbtab & objItem.Displayname _
& vbtab & "Enabled = " & objItem.IsEnabled
Next
Im folgenden VBScript-Codebeispiel wird veranschaulicht, wie Berechtigungen mit dem SWbemPrivilegeSet-Objekt hinzugefügt werden.
on error resume next
const wbemPrivilegeSecurity = 8
const wbemPrivilegeDebug = 20
set locator = CreateObject("WbemScripting.SWbemLocator")
' Add a single privilege using SWbemPrivilegeSet.Add
locator.Security_.Privileges.Add wbemPrivilegeSecurity
Set Privilege = locator.Security_.Privileges(wbemPrivilegeSecurity)
WScript.Echo Privilege.Name
' Attempt to add an illegal privilege using SWbemPrivilegeSet.Add
locator.Security_.Privileges.Add 6535
if err <> 0 then
WScript.Echo "0x" & Hex(Err.Number), Err.Description, Err.Source
err.clear
end if
locator.Security_.Privileges.Add wbemPrivilegeDebug
locator.Security_.Privileges(wbemPrivilegeDebug).IsEnabled = false
' Add a single privilege using SWbemPrivilegeSet.AddAsString
Set Privilege = locator.Security_.Privileges.AddAsString ("SeChangeNotifyPrivilege")
WScript.Echo Privilege.Name
' Attempt to add an illegal privilege using SWbemPrivilegeSet.AddAsString
locator.Security_.Privileges.AddAsString "SeChungeNotifyPrivilege"
if err <> 0 then
WScript.Echo "0x" & Hex(Err.Number), Err.Description, Err.Source
err.clear
end if
WScript.Echo ""
for each Privilege in locator.Security_.Privileges
WScript.Echo "[" & Privilege.DisplayName & "]", Privilege.Identifier, Privilege.Name, Privilege.IsEnabled
next
if err <> 0 then
WScript.Echo Err.Number, Err.Description, Err.Source
end if
Im folgenden Perl-Codebeispiel wird veranschaulicht, wie Berechtigungen mit dem SWbemPrivilegeSet-Objekt hinzugefügt werden.
use strict;
use Win32::OLE;
close(STDERR);
my ($locator, $Privilege);
my $wbemPrivilegeSecurity = 8;
my $wbemPrivilegeDebug = 20;
eval { $locator = new Win32::OLE 'WbemScripting.SWbemLocator';};
if (!$@ && defined $locator)
{
# Add a single privilege using SWbemPrivilegeSet.Add
$locator->{Security_}->{Privileges}->Add($wbemPrivilegeSecurity);
$Privilege = $locator->{Security_}->Privileges($wbemPrivilegeSecurity);
print "\n", $Privilege->{Name}, "\n\n";
# Attempt to add an illegal privilege using SWbemPrivilegeSet.Add
eval { $locator->{Security_}->{Privileges}->Add(6535); };
print Win32::OLE->LastError, "\n" if ($@ || Win32::OLE->LastError);
$locator->{Security_}->{Privileges}->Add($wbemPrivilegeDebug);
$locator->{Security_}->Privileges($wbemPrivilegeDebug)->{IsEnabled} = 0;
# Add a single privilege using SWbemPrivilegeSet.AddAsString
$Privilege = $locator->{Security_}->{Privileges}->AddAsString ("SeChangeNotifyPrivilege");
print "\n", $Privilege->{Name}, "\n\n";
# Attempt to add an illegal privilege using SWbemPrivilegeSet.AddAsString
eval {$locator->{Security_}->{Privileges}->AddAsString ("SeChungeNotifyPrivilege"); };
print Win32::OLE->LastError, "\n" if ($@ || Win32::OLE->LastError);
print "\n";
foreach $Privilege (in {$locator->{Security_}->{Privileges}})
{
printf "[%s] %d %s %d \n" , $Privilege->{DisplayName}, $Privilege->{Identifier}, $Privilege->{Name}, $Privilege->{IsEnabled};
}
}
else
{
print Win32::OLE->LastError, "\n";
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
Windows Server 2008 |
Header |
|
Typbibliothek |
|
DLL |
|
CLSID |
CLSID_SWbemPrivilegeSet |
IID |
IID_ISWbemPrivilegeSet |