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 |
|
| Typbibliothek |
|
| DLL |
|
| CLSID |
CLSID _ SWbemPrivilegeSet |
| IID |
IID _ ISWbemPrivilegeSet |