FileSystemSecurity.RemoveAuditRule(FileSystemAuditRule) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從目前的檔案或目錄中,移除所有相符的允許或拒絕稽核規則。
public:
bool RemoveAuditRule(System::Security::AccessControl::FileSystemAuditRule ^ rule);
public bool RemoveAuditRule (System.Security.AccessControl.FileSystemAuditRule rule);
override this.RemoveAuditRule : System.Security.AccessControl.FileSystemAuditRule -> bool
Public Function RemoveAuditRule (rule As FileSystemAuditRule) As Boolean
參數
- rule
- FileSystemAuditRule
FileSystemAuditRule 物件,表示要從檔案或目錄中移除的稽核規則。
傳回
true
如果已移除稽核規則,則為 ;否則為 false
。
例外狀況
rule
參數為 null
。
範例
下列程式代碼範例會 AddAuditRule 使用 方法,將稽核規則新增至檔案,並使用 RemoveAuditRule 方法從檔案中移除稽核規則。 您必須提供有效的使用者或群組帳戶,才能執行這個範例。
using System;
using System.IO;
using System.Security.AccessControl;
namespace FileSystemExample
{
class FileExample
{
public static void Main()
{
try
{
string FileName = "test.xml";
Console.WriteLine("Adding access control entry for " + FileName);
// Add the access control entry to the file.
AddFileAuditRule(FileName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure);
Console.WriteLine("Removing access control entry from " + FileName);
// Remove the access control entry from the file.
RemoveFileAuditRule(FileName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure);
Console.WriteLine("Done.");
}
catch (IOException e)
{
Console.WriteLine("Unable to open the file: " + e.Message);
}
catch (PrivilegeNotHeldException e)
{
Console.WriteLine("The current account does not have the correct privileges: " + e.Message);
}
Console.ReadLine();
}
// Adds an ACL entry on the specified file for the specified account.
public static void AddFileAuditRule(string FileName, string Account, FileSystemRights Rights, AuditFlags AuditRule)
{
// Get a FileSecurity object that represents the
// current security settings.
FileSecurity fSecurity = File.GetAccessControl(FileName);
// Add the FileSystemAuditRule to the security settings.
fSecurity.AddAuditRule(new FileSystemAuditRule(Account,
Rights,
AuditRule));
// Set the new access settings.
File.SetAccessControl(FileName, fSecurity);
}
// Removes an ACL entry on the specified file for the specified account.
public static void RemoveFileAuditRule(string FileName, string Account, FileSystemRights Rights, AuditFlags AuditRule)
{
// Get a FileSecurity object that represents the
// current security settings.
FileSecurity fSecurity = File.GetAccessControl(FileName);
// Add the FileSystemAuditRule to the security settings.
fSecurity.RemoveAuditRule(new FileSystemAuditRule(Account,
Rights,
AuditRule));
// Set the new access settings.
File.SetAccessControl(FileName, fSecurity);
}
}
}
Imports System.IO
Imports System.Security.AccessControl
Module FileExample
Sub Main()
Try
Dim FileName As String = "test.xml"
Console.WriteLine("Adding access control entry for " + FileName)
' Add the access control entry to the file.
AddFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)
Console.WriteLine("Removing access control entry from " + FileName)
' Remove the access control entry from the file.
RemoveFileAuditRule(FileName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AuditFlags.Failure)
Console.WriteLine("Done.")
Catch e As IOException
Console.WriteLine("Unable to open the file: " & e.Message)
Catch e As PrivilegeNotHeldException
Console.WriteLine("The current account does not have the correct privileges: " & e.Message)
End Try
Console.ReadLine()
End Sub
' Adds an ACL entry on the specified file for the specified account.
Sub AddFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)
' Get a FileSecurity object that represents the
' current security settings.
Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)
' Add the FileSystemAuditRule to the security settings.
fSecurity.AddAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))
' Set the new access settings.
File.SetAccessControl(FileName, fSecurity)
End Sub
' Removes an ACL entry on the specified file for the specified account.
Sub RemoveFileAuditRule(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal AuditRule As AuditFlags)
' Get a FileSecurity object that represents the
' current security settings.
Dim fSecurity As FileSecurity = File.GetAccessControl(FileName)
' Add the FileSystemAuditRule to the security settings.
fSecurity.RemoveAuditRule(New FileSystemAuditRule(Account, Rights, AuditRule))
' Set the new access settings.
File.SetAccessControl(FileName, fSecurity)
End Sub
End Module
備註
方法RemoveAuditRule會從目前 FileSystemSecurity 物件中移除所有相符Deny的稽核規則或所有相符Allow的稽核規則。 例如,您可以使用這個方法來移除使用者的所有 Deny 稽核規則,方法是傳遞 FileSystemAuditRule 使用 Deny 值、 Failure 值和用戶帳戶建立的物件。 當您這樣做時,RemoveAuditRule方法會移除指定值或Success值的任何拒絕規則Failure。