Share via


RegistryAuditRule 建構函式

定義

初始化 RegistryAuditRule 類別的新執行個體。

多載

RegistryAuditRule(IdentityReference, RegistryRights, InheritanceFlags, PropagationFlags, AuditFlags)

初始化 RegistryAuditRule 類別的新執行個體,指定要稽核的使用者或群組、要稽核的權限、是否考慮繼承 (Inheritance),以及是要稽核成功、失敗或兩者皆稽核。

RegistryAuditRule(String, RegistryRights, InheritanceFlags, PropagationFlags, AuditFlags)

初始化 RegistryAuditRule 類別的新執行個體,指定要稽核的使用者或群組名稱、要稽核的權限、是否考慮繼承,以及是要稽核成功、失敗或兩者皆稽核。

RegistryAuditRule(IdentityReference, RegistryRights, InheritanceFlags, PropagationFlags, AuditFlags)

來源:
RegistrySecurity.cs

初始化 RegistryAuditRule 類別的新執行個體,指定要稽核的使用者或群組、要稽核的權限、是否考慮繼承 (Inheritance),以及是要稽核成功、失敗或兩者皆稽核。

public:
 RegistryAuditRule(System::Security::Principal::IdentityReference ^ identity, System::Security::AccessControl::RegistryRights registryRights, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::AuditFlags flags);
public RegistryAuditRule (System.Security.Principal.IdentityReference identity, System.Security.AccessControl.RegistryRights registryRights, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AuditFlags flags);
new System.Security.AccessControl.RegistryAuditRule : System.Security.Principal.IdentityReference * System.Security.AccessControl.RegistryRights * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.AuditFlags -> System.Security.AccessControl.RegistryAuditRule
Public Sub New (identity As IdentityReference, registryRights As RegistryRights, inheritanceFlags As InheritanceFlags, propagationFlags As PropagationFlags, flags As AuditFlags)

參數

identity
IdentityReference

適用這項規則的使用者或群組。 必須是型別 SecurityIdentifier,或是像是可以轉換成型別 NTAccountSecurityIdentifier 的型別。

registryRights
RegistryRights

RegistryRights 值的位元組合,指定要稽核的存取類型。

inheritanceFlags
InheritanceFlags

InheritanceFlags 值的位元組合,指定稽核規則是否套用至目前機碼的子機碼 (Subkey)。

propagationFlags
PropagationFlags

PropagationFlags 值的位元組合,這些值會影響繼承之稽核規則傳用至目前機碼的子機碼的方式。

flags
AuditFlags

AuditFlags 值的位元組合,指定是否要稽核成功、失敗或兩者皆稽核。

例外狀況

eventRights 指定了無效的值。

-或-

flags 指定了無效的值。

-或-

inheritanceFlags 指定了無效的值。

-或-

propagationFlags 指定了無效的值。

identitynull

-或-

registryRights 為零。

identity 既不是 SecurityIdentifier 型別,也不是可以轉換成 NTAccount 型別的型別 (例如 SecurityIdentifier)。

備註

所有登錄機碼都是容器,因此唯一對登錄機碼有意義的繼承旗標就是 InheritanceFlags.ContainerInherit 旗標。 如果未指定此旗標,則會忽略傳播旗標,而且只會影響立即索引鍵。 如果旗標存在,規則會傳播,如下表所示。 此資料表假設有子子機碼 S 與子機碼 CS 和子機碼 GS。 也就是說,子機碼的路徑是 S\CS\GS。

傳播旗標 S CS GS
None X X X
NoPropagateInherit X X
InheritOnly X X
NoPropagateInherit, InheritOnly X

子機碼的模式會控管子機碼所包含的所有子機碼。

例如,如果 ContainerInherit 為 指定 旗標,而且 InheritOnly 已針對 propagationFlags 指定 inheritanceFlags 傳播旗標,此規則不會套用至立即子機碼,但會套用至其所有立即子機碼,以及其包含的所有子機碼。

注意

雖然您可以為 指定 InheritanceFlags.ObjectInherit 旗標 inheritanceFlags ,但沒有這麼做的點。 為了進行存取控制,子機碼中的名稱/值組不是個別的物件。 名稱/值組的存取權限是由子機碼的許可權所控制。 此外,由於所有子機碼都是容器 (也就是說,它們可以包含其他子機碼) ,因此它們不會受到 ObjectInherit 旗標影響。 最後,指定 ObjectInherit 旗標不需要使規則的維護複雜,因為它會干擾相容規則的一般組合。

適用於

RegistryAuditRule(String, RegistryRights, InheritanceFlags, PropagationFlags, AuditFlags)

來源:
RegistrySecurity.cs

初始化 RegistryAuditRule 類別的新執行個體,指定要稽核的使用者或群組名稱、要稽核的權限、是否考慮繼承,以及是要稽核成功、失敗或兩者皆稽核。

public:
 RegistryAuditRule(System::String ^ identity, System::Security::AccessControl::RegistryRights registryRights, System::Security::AccessControl::InheritanceFlags inheritanceFlags, System::Security::AccessControl::PropagationFlags propagationFlags, System::Security::AccessControl::AuditFlags flags);
public RegistryAuditRule (string identity, System.Security.AccessControl.RegistryRights registryRights, System.Security.AccessControl.InheritanceFlags inheritanceFlags, System.Security.AccessControl.PropagationFlags propagationFlags, System.Security.AccessControl.AuditFlags flags);
new System.Security.AccessControl.RegistryAuditRule : string * System.Security.AccessControl.RegistryRights * System.Security.AccessControl.InheritanceFlags * System.Security.AccessControl.PropagationFlags * System.Security.AccessControl.AuditFlags -> System.Security.AccessControl.RegistryAuditRule
Public Sub New (identity As String, registryRights As RegistryRights, inheritanceFlags As InheritanceFlags, propagationFlags As PropagationFlags, flags As AuditFlags)

參數

identity
String

套用這個規則的使用者或群組名稱。

registryRights
RegistryRights

RegistryRights 值的位元組合,指定要稽核的存取類型。

inheritanceFlags
InheritanceFlags

InheritanceFlags 旗標的組合,指定稽核規則是否要套用至目前機碼的子機碼。

propagationFlags
PropagationFlags

PropagationFlags 旗標的組合,這些旗標會影響繼承之稽核規則傳用至目前機碼的子機碼的方式。

flags
AuditFlags

AuditFlags 值的位元組合,指定是否要稽核成功、失敗或兩者皆稽核。

例外狀況

eventRights 指定了無效的值。

-或-

flags 指定了無效的值。

-或-

inheritanceFlags 指定了無效的值。

-或-

propagationFlags 指定了無效的值。

registryRights 為零。

identitynull

-或-

identity 是零長度字串

-或-

identity 的長度超過 512 個字元。

備註

所有登錄機碼都是容器,因此唯一對登錄機碼有意義的繼承旗標就是 InheritanceFlags.ContainerInherit 旗標。 如果未指定此旗標,則會忽略傳播旗標,而且只會影響立即索引鍵。 如果旗標存在,規則會傳播,如下表所示。 此資料表假設有子子機碼 S 與子機碼 CS 和子機碼 GS。 也就是說,子機碼的路徑是 S\CS\GS。

傳播旗標 S CS GS
None X X X
NoPropagateInherit X X
InheritOnly X X
NoPropagateInherit, InheritOnly X

子機碼的模式會控管子機碼所包含的所有子機碼。

例如,如果 ContainerInherit 為 指定 旗標,而且 InheritOnly 已針對 propagationFlags 指定 inheritanceFlags 傳播旗標,此規則不會套用至立即子機碼,但會套用至其所有立即子機碼,以及其包含的所有子機碼。

注意

雖然您可以為 指定 InheritanceFlags.ObjectInherit 旗標 inheritanceFlags ,但沒有這麼做的點。 為了進行存取控制,子機碼中的名稱/值組不是個別的物件。 名稱/值組的存取權限是由子機碼的許可權所控制。 此外,由於所有子機碼都是容器 (也就是說,它們可以包含其他子機碼) ,因此它們不會受到 ObjectInherit 旗標影響。 最後,指定 ObjectInherit 旗標不需要使規則的維護複雜,因為它會干擾相容規則的一般組合。

這個建構函式相當於建立 NTAccount 物件,方法是傳遞 identityNTAccount.NTAccount(String) 建構函式,並將新建立 NTAccount 的物件傳遞至建 RegistryAuditRule(IdentityReference, RegistryRights, InheritanceFlags, PropagationFlags, AuditFlags) 構函式。

適用於