Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt einen Enumerator für den Zugriff auf die einzelnen Ebenen der Hierarchie der Sicherheitsrichtlinien bereit, z. B. Computerrichtlinie und Benutzerrichtlinie.
Namespace: System.Security
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared Function PolicyHierarchy As IEnumerator
'Usage
Dim returnValue As IEnumerator
returnValue = SecurityManager.PolicyHierarchy
public static IEnumerator PolicyHierarchy ()
public:
static IEnumerator^ PolicyHierarchy ()
public static IEnumerator PolicyHierarchy ()
public static function PolicyHierarchy () : IEnumerator
Rückgabewert
Ein IEnumerator für PolicyLevel-Objekte, aus denen sich die Hierarchie der Sicherheitsrichtlinien zusammensetzt.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Der diese Methode aufrufende Code verfügt nicht über SecurityPermissionFlag.ControlPolicy. |
Hinweise
Der zurückgegebene Enumerator stellt aufeinander folgende PolicyLevel-Objekte bereit, die die Richtlinie auf der entsprechenden Hierarchieebene (Computer, Benutzer, Organisation, Anwendungsdomäne) darstellen. Diese Objekte sind die aktiven Richtlinienobjekte. An diesen Objekte vorgenommene Änderungen können zu unvorhersehbaren Ergebnissen führen.
Die Mindesthierarchie von Richtlinien umfasst eine Computerebene, eine Organisationsebene und eine Benutzerebene. Die Hierarchie kann jedoch weitere Ebenen enthalten.
Beispiel
Das vollständige Beispiel finden Sie unter dem Thema zur SecurityManager-Klasse.
Private Shared Sub DeleteCustomCodeGroups()
' Delete the custom code groups that were created.
Dim policyEnumerator As IEnumerator = SecurityManager.PolicyHierarchy()
While policyEnumerator.MoveNext()
Dim machineLevel As PolicyLevel = CType(policyEnumerator.Current, PolicyLevel)
Dim childCodeGroups As IList = machineLevel.RootCodeGroup.Children
Dim childGroups As IEnumerator = childCodeGroups.GetEnumerator()
While childGroups.MoveNext()
Dim thisCodeGroup As CodeGroup = CType(childGroups.Current, CodeGroup)
If thisCodeGroup.Name = "MyCompanyCodeGroup" Then
machineLevel.RootCodeGroup.RemoveChild(thisCodeGroup)
End If
End While
End While
End Sub 'DeleteCustomCodeGroups
private static void DeleteCustomCodeGroups()
{
// Delete the custom code groups that were created.
IEnumerator policyEnumerator = SecurityManager.PolicyHierarchy();
while(policyEnumerator.MoveNext())
{
PolicyLevel machineLevel = (PolicyLevel)policyEnumerator.Current;
IList childCodeGroups = machineLevel.RootCodeGroup.Children;
IEnumerator childGroups = childCodeGroups.GetEnumerator();
while(childGroups.MoveNext())
{
CodeGroup thisCodeGroup = (CodeGroup)childGroups.Current;
if( thisCodeGroup.Name == "MyCompanyCodeGroup")
{
machineLevel.RootCodeGroup.RemoveChild(thisCodeGroup);
}
}
}
}
void DeleteCustomCodeGroups()
{
// Delete the custom code groups that were created.
IEnumerator^ policyEnumerator = SecurityManager::PolicyHierarchy();
while ( policyEnumerator->MoveNext() )
{
PolicyLevel^ machineLevel = dynamic_cast<PolicyLevel^>(policyEnumerator->Current);
IList^ childCodeGroups = machineLevel->RootCodeGroup->Children;
IEnumerator^ childGroups = childCodeGroups->GetEnumerator();
while ( childGroups->MoveNext() )
{
CodeGroup^ thisCodeGroup = dynamic_cast<CodeGroup^>(childGroups->Current);
if ( thisCodeGroup->Name->Equals( "MyCompanyCodeGroup" ) )
{
machineLevel->RootCodeGroup->RemoveChild( thisCodeGroup );
}
}
}
}
private static void DeleteCustomCodeGroups()
{
// Delete the custom code groups that were created.
IEnumerator policyEnumerator = SecurityManager.PolicyHierarchy();
while (policyEnumerator.MoveNext()) {
PolicyLevel machineLevel =
((PolicyLevel)(policyEnumerator.get_Current()));
IList childCodeGroups =
machineLevel.get_RootCodeGroup().get_Children();
IEnumerator childGroups = childCodeGroups.GetEnumerator();
while (childGroups.MoveNext()) {
CodeGroup thisCodeGroup =
((CodeGroup)(childGroups.get_Current()));
if (thisCodeGroup.get_Name().equalsIgnoreCase
("MyCompanyCodeGroup")) {
machineLevel.get_RootCodeGroup()
.RemoveChild(thisCodeGroup);
}
}
}
} //DeleteCustomCodeGroups
.NET Framework-Sicherheit
- SecurityPermission zum Anzeigen und Ändern von Richtlinien. Zugeordnete Enumeration: SecurityPermissionFlag.ControlPolicy
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
SecurityManager-Klasse
SecurityManager-Member
System.Security-Namespace