SWbemPrivilegeSet-Objekt

Ein SWbemPrivilegeSet-Objekt ist eine Sammlung von SWbemPrivilege-Objekten in einem SWbemSecurity-Objekt, das bestimmte Berechtigungen für ein WMI-Objekt (Windows Management Instrumentation) an fordert. Weitere Informationen finden Sie in der Liste der Berechtigungen unter Privilege Constants. Elemente werden der Auflistung mithilfe der Methoden Add und AddAsString hinzugefügt. Elemente werden mithilfe der Item-Methode aus der Auflistung abgerufen und mithilfe der Remove-Methode entfernt. Dieses Objekt kann nicht durch den VBScript CreateObject-Methodenaufruf erstellt werden. Weitere Informationen finden Sie unter Zugreifen auf eine Auflistung.

Ein SWbemPrivilegeSet-Objekt ist ein Satz von Anforderungen zur Berechtigungsüberschreibung für ein bestimmtes Objekt. Wenn ein API-Aufruf mit diesem Objekt erfolgt, werden die Anforderungen zur Berechtigungsüberschreibung versucht. Das SWbemPrivilegeSet-Objekt definiert nicht die Berechtigungen, die dem aktuellen Benutzer oder Prozess zur Verfügung stehen. Anders ausgedrückt: Durch das Abrufen der Berechtigungen für ein WMI-Objekt werden weder die Berechtigungseinstellungen identifiziert, die für die Verbindung mit WMI vorgenommen werden, noch die Berechtigungen, die wirksam sind, wenn ein Objekt an eine Senke übermittelt wird.

Members

Das SWbemPrivilegeSet-Objekt verfügt über die folgenden Membertypen:

Methoden

Das SWbemPrivilegeSet-Objekt verfügt über diese Methoden.

Methode BESCHREIBUNG
Hinzufügen Fügt der Sammlung SWbemPrivilegeSet mithilfe einer WbemPrivilegeEnum-Konstante ein SWbemPrivilege-Objekt hinzu.
AddAsString Fügt der Sammlung SWbemPrivilegeSet mithilfe einer Berechtigungszeichenfolge ein SWbemPrivilege-Objekt hinzu.
DeleteAll Löscht alle Berechtigungen aus der Auflistung.
Artikel Ruft ein SWbemPrivilege-Objekt aus der Auflistung ab. Dies ist die Standardmethode dieses Objekts.
Remove (Entfernen) Entfernt ein SWbemPrivilege-Objekt aus der Auflistung.

Eigenschaften

Das SWbemPrivilegeSet-Objekt verfügt über diese Eigenschaften.

Eigenschaft Zugriffstyp BESCHREIBUNG
Count
Schreibgeschützt
Die Anzahl der Elemente in der Auflistung.

Beispiele

Das folgende VBScript-Codebeispiel erhält ein SWbemPrivileges-Objekt und fügt der Sammlung alle verfügbaren Berechtigungen nach Berechtigungswert hinzu, wie in WbemPrivilegeEnum definiert.

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 mithilfe des SWbemPrivilegeSet-Objekts 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 mithilfe des SWbemPrivilegeSet-Objekts 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";
}

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
Windows Server 2008
Header
Wbemdisp.h
Typbibliothek
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID _ SWbemPrivilegeSet
IID
IID _ ISWbemPrivilegeSet

Weitere Informationen

Ausführen privilegierter Vorgänge

Ausführen privilegierter Vorgänge mit VBScript

WbemPrivilegeEnum

Skripterstellung für API-Objekte

Berechtigungskonst constants