Microsoft Windows Server DNS 組態檔開啟錯誤

Microsoft.Windows.Server.DNS.Configuration.FileOpenError (Rule)

組態的警示產生規則。

Knowledge Base article:

摘要

DNS 伺服器組態由設定組成,這些設定決定 DNS 伺服器如何在網路上運作,以及如何在需要時儲存與擷取它們。

原因

DNS 伺服器無法開啟檔案。

解決方式

修正檔案存取問題

確認目錄 %systemroot%\System32\DNS 中存在指定的檔案,且該檔案的屬性和權限允許讓 DNS 伺服器服務帳戶進行讀寫存取。

若要執行此程序,您必須有 Administrators 的成員資格,或者必須已被委派適當的權限。

若要確認該檔案是否存在:

依序按一下 [開始] 和 [執行],然後輸入 %systemroot%\system32\dns\ (包括最後的 \),再按一下 [確定]。

如果該檔案不在清單中,您必須採取步驟,以還原該檔案 (例如從備份中還原) 或重新建立該檔案 (例如將區域刪除後再重新建立)。

如果該檔案已在清單中,請確認 DNS 伺服器服務帳戶是否可以對該檔案進行讀取和寫入。

若要確認服務帳戶是否可以存取檔案:

1.在 DNS 伺服器上啟動 [服務]。若要啟動 [服務],請依序按一下 [開始] 和 [系統管理工具],然後按一下 [服務]。

2. 在 [服務 (本機)] 清單中以滑鼠右鍵按一下 [DNS 伺服器],再按一下 [內容]。

3. 按一下 [登入] 索引標籤,然後注意是 [本機系統帳戶] 處於選取狀態還是 [這個帳戶] 處於選取狀態,再記下該帳戶的名稱。

4. 按一下 [取消] 關閉對話方塊。

5.依序按一下 [開始] 和 [執行],然後輸入 %systemroot%\system32\dns\ (包括最後的 \),再按一下 [確定]。

6. 以滑鼠右鍵按一下檔案,然後按一下 [內容]。

7. 如果已選取 [唯讀] 核取方塊,請清除該核取方塊。

8. 按一下 [安全性],然後確定 DNS 伺服器服務帳戶是否在清單中。

如果 DNS 伺服器服務帳戶不在清單中,請新增此帳戶並指派適當的權限。

若要新增帳戶並指派權限:

1. 按一下 [編輯]。

[2. 在 [「檔案」的權限] 對話方塊中按一下 [新增]。

3. 在 [選取使用者、電腦或群組] 對話方塊中輸入 DNS 伺服器服務帳戶的名稱。例如若 DNS 伺服器服務帳戶是本機系統帳戶,請輸入 system。

4.按一下 [確定]。

5. 在 [完整控制權] 旁邊的 [「使用者」的權限] 清單中按一下 [允許],然後按一下 [確定]。

如果 DNS 伺服器服務帳戶已在清單中,請視需要修正此帳戶被授與的權限。

若要檢視並修正檔案權限:

1. 按一下該 DNS 伺服器服務帳戶。

2. 如果 [允許] 底下的 [完整控制權] 旁邊沒有出現核取方塊,請按一下 [進階]。

3. 在 [「檔案」的進階安全性設定] 對話方塊中按一下 [編輯]。

4. 如果已選取 [從此物件的父項包括繼承權限],請清除該核取方塊,然後按一下 [複製]。

5. 按一下該 DNS 伺服器服務帳戶,然後按一下 [編輯]。

6. 在 [允許] 下方按一下 [完整控制權] 旁邊的核取方塊,然後按一下 [確定]。

外部

http://technet.microsoft.com/en-us/library/dd349581(v=ws.10).aspx

Element properties:

TargetMicrosoft.Windows.Server.DNS.Server
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Windows DNS - 組態 - 檔案開啟錯誤
事件識別碼: {0} 事件來源: {1} 事件記錄檔: {2} 事件描述: {3}
Event LogDNS Server

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.Windows.Server.DNS.Configuration.FileOpenError" Enabled="true" Target="Microsoft.Windows.Server.DNS.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>DNS Server</LogName>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1000</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.Server.DNS.Configuration.FileOpenError.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/EventSourceName$</AlertParameter2>
<AlertParameter3>$Data/Channel$</AlertParameter3>
<AlertParameter4>$Data/EventDescription$</AlertParameter4>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>