• DS-Account lockout 問題處理概觀:

    1. 在相關的網域控制站上設定欲蒐集的資訊

    2. 透過事件監控程式提醒管理員問題已發生

    3. 蒐集相關的資訊至一個集中的資料夾以方便分析

    4. 在事件檢視器裡,可以看到事件被記錄的事件 ID 及 Logon Type 和 Logon Process。

    5. 您可以對照事件 ID 及 Logon Type 和 Logon Process 做為參考依據。

    6. 在 Netlogon.log (在所有網域控制站上的 %windir%\debug\netlogon.log  目錄)裡,可以看到使用者帳號登入的資訊。

    ===============================================================

    (1). 在相關的網域控制站上設定欲蒐集的資訊

      a. 將網域控制站上的群組原則上的帳號鎖定原則 LockoutBadCount 值設定在 7 以上. (Some known issue may occurs on Outlook/Exchange with 6 bad attemps.)  
      b. Windows 2000/2003 根據預設值,會安裝包含追蹤功能的 Netlogon.dll 版本。
    如果要啟用偵錯記錄功能,請使用下列步驟在登錄中設定想要的偵錯旗標,然後重新啟動服務:

    1. 啟動 Regedt32 程式。
    2. 刪除下面登錄項目的 Reg_SZ 值,以相同的名稱建立 REG_DWORD 值,然後新增 0x2080FFFF 十六進位值。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon Parameters\DBFlag

    1. 在命令提示字元下輸入 net stop netlogon,然後再輸入 net start netlogon。這樣就能啟用偵錯記錄功能。
    2. 如果要停用偵錯記錄功能,請在下面登錄機碼中將資料值改成 0x0

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon Parameters\DBFlag

    1. 結束 Regedt32。
    2. 停止 Netlogon,然後再重新啟動 Netlogon。
    3. 此外,您現在不需使用登錄也可以設定 dbflag。
      如果要使用這種方法,請從命令提示字元執行下面命令:

    nltest /dbflag:0x2000ffff

    1. 完成偵錯之後,您可以從命令提示字元執行下面命令,將 dbflag 重設為 0:

    nltest /dbflag:0x0

      c. 啟用稽核原則。在網域控制站上的稽核原則上,更改下列設定值:

            1. 在系統管理工具,開啟網域安全性原則:

    展開安全性設定,本機原則,稽核原則。分別開啟:
    稽核帳戶登入事件:  失敗
    稽核登入事件: 失敗 . 

    稽核帳號管理: 成功

            2. 執行 secedit /refreshpolicy machine_policy /enforce (Windows 2003 使用gpupdate /force)以更新所有網域控制站上的原則設定。

    這樣就可以開始將 netlogon 的相關活動記錄到所有網域控制站上的 %windir%\debug\netlogon.log  目錄上。

    ===============================================================

    (2). 透過事件監控程式提醒管理員問題已發生
    可以使用 Event Monitor 來監視 Account Lockout 的狀態
    執行 eventmon  來監視當被鎖定的使用者帳戶有事件 event 644 出現。
    ===============================================================
    (3). 蒐集相關的資訊至一個集中的資料夾以方便分析
    當帳號被鎖定時,蒐集下列資訊:

    1. 被鎖定的帳號名稱。

    2. 該使用者帳號登入的電腦名稱。

    3. 該使用者帳號被鎖定的實際時間。

    4. 該電腦的作業系統版本(可以在開始, 執行上, 輸入 winver)及類別(是 Windows XP/NT/200?)

    5. 使用者當時曾嘗試了幾次的密碼錯誤嘗試?

    6. 在所有的 Domain controllers 上拿到所有的 Security log 及 netlogon.log 檔案。您可以依下列步驟使用 EventCombMT.exe 工具:

        To use the EventCombMT.exe tool, open the folder you specified during setup for ALTools, double-click EventCombMT.exe
        click the Searches menu, click Built in searches, and then click Account lockouts. When you do this, the events that will 
        be pulled from the event logs are automatically displayed in the tool. These events are from all of the domain controllers in
        your environment. In addition to 529, 644, 675, and 681, type 12294 in the Event Ids box, and then click Search. The tool
        then searches the computers for these events, and then saves them to a .txt file that you specify.

    7. 在 PDC emulator 的 Domain Controller 上拿到 netlogon.log  ( 以及 netlogon.bak  ) 檔案。

    8. 在一台 Domain Controller 執行 Account Lockout.exe (在 ALTOOLS.exe) 並抓取使用者登入及錯誤嘗試的資訊, 存成抓取畫面給我們。
    9. 使用者當時做了些什麼嘗試? 是否變更改了密碼? 是否曾經試過改完後登出/登入一次?

    (4) 在事件檢視器裡,可以看到事件被記錄的事件 ID Logon Type Logon Process。以下提供一個範例:

       Date:     10/16/2002  Event ID:  528
       Time:     10:32:11 AM  Source:  Security
       User:     JoeSmith  Type:  Success Audit
       Computer: MKTINGDOM  Category: Logon/Logoff
     
       Description:
       Logon/Logoff: Successful
       Logon User Name: JoeSmith
       Domain: MKTINGDOM
       Logon ID: (0x0, 0x2D0D0)
       Logon Type: 3
       Logon Process: User32 Authentication Pkg:
          MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
       Workstation Name: \\WKS2

    (5) 您可以對照下列的事件 ID Logon Type Logon Process,做為參考依據。

    EventID   Description
    -------   -----------
       514     An authentication package has been loaded by the LSA
       515     A trusted logon process has registered with the LSA
       518     A notification package has been loaded by the Security
               Account Manager
       528     Successful Logon
       529     Logon Failure: Unknown user name or bad password
       530     Logon Failure: Account logon time restriction violation
       531     Logon Failure: Account currently disabled
       532     Logon Failure: The specified user account has expired
       533     Logon Failure: User not allowed to logon at this computer
       534     Logon Failure: The user has not been granted the requested
               logon type at this machine
       535     Logon Failure: The specified account's password has expired
       536     Logon Failure: The NetLogon component is not active
       537     Logon Failure: An unexpected error occurred during logon
       538     User Logoff
       539     Logon Failure: Account locked out
       644     User Account Locked Out            

      676     logon attempt with locked account: (Kerberos) Failure code 12

       681     logon attempt with locked account: (NTLM) Error code 3221226036 (C0000234) for locked account Exposes Frequency Pattern

       681 & 675 (badpassword) from all DCs Error code: 3221225578 (C000006A) badpassword: Gets NTLM and Kerberos badpasswords
    Logon Type

    "Logon Type" will be one of the following:

       2  Interactive (本機登入)
       3  Network
       4  Batch
       5  Service
       6  Proxy
       7  Unlock Workstation
       (0 & 1 are invalid)                                 
    Logon Process

    "msv1_0" or "MICROSOFT_AUTHENTICATION_PACKAGE_V1_0":
         msv1_0.dll, the default authentication package

    (6) Netlogon.log (在所有網域控制站上的 %windir%\debug\netlogon.log  目錄)裡,可以看到使用者登入的狀況。因此在您的 DC , 可以看到帳號登入的資訊。以下提供一些範例:

    Windows NT Workstation/2000 Professional/Server:

    [LOGON] SamLogon: Interactive logon of PORSCHE\example from 928S4 (via
       TARGA) Entered
     
    [LOGON] SamLogon: Interactive logon of PORSCHE\example from 928S4 (via
       TARGA) Returns 0xC000006A
     
    [LOGON] SamLogon: Interactive logon of PORSCHE\example from 928S4 (via
       TARGA) Entered
     
    [LOGON] SamLogon: Interactive logon of PORSCHE\example from 928S4 (via
       TARGA) Returns 0xC0000234                              

    您可以看到該帳號在哪一台電腦嘗試登入,以及由回傳的代碼瞭解登入的狀態,請同時參考下表代碼意義:

    0xC0000234 User logon with Account Locked

    0xC000006A User logon with Misspelled or bad Password

    0xC0000072 User logon to account disabled by Administrator

    0xC0000193 User logon with Expired Account

    0xC0000070 User logon from unauthorized workstation

    0xC000006F User logon Outside authorized hours

    0xC0000224 User logon with "Change Password at Next Logon" flagged

    0xC0000071 User logon with Expired Password

    0xC0000064 User logon with Misspelled or Bad User Account

    通常我們需追蹤 234 6A 的錯誤以瞭解帳號鎖定問題。並同時參考事件檢視器裡有關安全性記錄檔在同時間點的記錄。

    可以透過ALTOOLS.EXE的nlparse.exe來做分析確認來源端是否為特定機器

    其他參考資訊:

    Account Lockout and Management Tools http://www.microsoft.com/downloads/details.aspx?familyid=7AF2E69C-91F3-4E63-8629-B999ADDE0B9E&displaylang=en

    啟用 Netlogon 服務的偵錯記錄功能

    http://support.microsoft.com/?id=109626

    HOW TO: Enable Kerberos Event Logging

    http://support.microsoft.com/?id=262177

    Using the Checked Netlogon.dll to Track Account Lockouts

    http://support.microsoft.com/?id=189541

    How To Determine from Which Computer a User Logged On

    http://support.microsoft.com/?id=175062

    Auditing User Authentication

    http://support.microsoft.com/?id=174073

    How to Identify User Who Changed Administrator Password

    http://support.microsoft.com/?id=173939

    Security Event Descriptions

    http://support.microsoft.com/?id=174074

  • KCC一直出現事件1865,1311,1312

    當您的環境DC複寫正常,DNS解析也正常.但是卻有一台DC的事件檢視器中會不斷重複事件1865,1311,1312的情況.

    Symptom:

    事件類型:           警告

    事件來源:           NTDS KCC

    事件類別目錄: 知識一致性檢查程式

    事件識別碼:      1865

    日期:                     11/3/2009

    時間:                     15:31:14

    使用者:                NT AUTHORITY\ANONYMOUS LOGON

    電腦:          SBS2003

    描述:

    知識一致性檢查程式 (KCC) 無法產生一個完整的跨距樹狀目錄網路拓樸。因此無法從本機站台連接下列站台清單。

    站台:

    CN=ML,CN=Sites,CN=Configuration,DC=msft,DC=local

    事件類型:           錯誤

    事件來源:           NTDS KCC

    事件類別目錄: 知識一致性檢查程式

    事件識別碼:      1311

    日期:                     11/3/2009

    時間:                     15:31:14

    使用者:                NT AUTHORITY\ANONYMOUS LOGON

    電腦:          SBS2003

    描述:

    知識一致性檢查程式 (KCC) 已偵測出下列目錄磁碟分割發生問題。

    目錄磁碟分割:

    CN=Configuration,DC=msft,DC=local

    目錄磁碟分割:

    CN=Configuration,DC=msft,DC=local

    在 [Active Directory 站台及服務] 中沒有足夠的站台連線能力資訊,可供 KCC 建立跨距樹狀目錄複寫拓樸。或者,一些含有這個目錄磁碟分割的網域控制站無法複寫目錄磁碟分割資訊。這可能是因為網域控制站無法存取。

    使用者動作

    使用 [Active Directory 站台及服務] 來執行下列其中一個動作:

    - 發行足夠的站台連線能力資訊,這樣 KCC 可以判定這個目錄磁碟分割可到達這個站台的路徑。這是慣用的選項。

    - 從另一個站台中包含相同目錄磁碟分割的網域控制站上,新增一個連線物件到這個站台中包含目錄磁碟分割的網域控制站上。

    如果這兩個 [Active Directory 站台及服務] 工作都未修正這個情況,請參閱上一個 KCC 所記錄的事件,它識別無法存取的網域控制站。

    事件類型:           錯誤

    事件來源:           NTDS KCC

    事件類別目錄: 知識一致性檢查程式

    事件識別碼:      1312

    日期:                     11/3/2009

    時間:                     15:31:14

    使用者:                NT AUTHORITY\ANONYMOUS LOGON

    電腦:          SBS2003

    描述:

    指定下列傳輸的站台間訊息處理服務呼叫失敗。

    傳輸:

    CN=IP,CN=Inter-Site Transports,CN=Sites,CN=Configuration,DC=msft,DC=local

    因此,知識一致性檢查程式 (KCC) 無法設定正確的站台間複寫拓樸。

    使用者動作

    確認站台間訊息處理服務正在執行中。

    其他資料

    錯誤值:

    1722 無法取得 RPC 伺服器。

    Solution:

    由於Intersite Messaging服務被停用導致此問題

    需在DC上做以下設定:

    1. 點擊開始->運行,輸入services.msc按確定。

    2. 找到以下服務:Intersite Messaging

    3. 將啟動類型改為自動,並啟動此服務。

  • SCOM 2007,Alert generated from WMI Probe Module Execution Failure rule

    PROBLEM DESCRIPTION:
    =====================

    You needed assistance in troubleshooting the “Module was unable to connect to namespace” and “WMI Probe Module Failed Execution” Error.

    Alert: WMI Probe Module Failed Execution
    Source: 123.com.tw
    Path: 123.com.tw
    Last modified by: System
    Last modified time: 2009/3/13 上午 00:00:00 Alert description: ExecQuery failed
    Query: 'SELECT DeviceID, Name, Description, FileSystem, Compressed, Size, DriveType, SupportsFileBasedCompression FROM Win32_LogicalDisk WHERE (DriveType=3 or DriveType=6) and FileSystem!=null'
    HRESULT: 0x80004005
    Details: 無法指出的錯誤
    One or more workflows were affected by this.
    Workflow name: Microsoft.Windows.Server.2000.LogicalDisk.Discovery
    Instance name: 123.com.tw
    Instance ID: {12345678-ABCD-A123-A1A1-2C3FA9235EE5}
    Management group: JimmyTest
    Alert view link: "http://Jimmytest-SCOM/default.aspx?DisplayMode=Pivot&AlertID=%11334ef13f2-6dc5-478c-aa18-c49cef097356%7d"
    Notification subscription ID generating this message: {12345678-6B9D-7CAE-8EEC-5535DB2E3F6F}

    CAUSE:
    ======

    This is related to a known Bug. The WMI Query looks for "SystemDrive" which apparently not present on the Windows 2000 Machines.

    RESOLUTION :
    ==========

    Please disabled the rule for Windows 2000 servers.

    RELATED KNOWLEDGE BASE ARTICLES :
    =========================

    Problems occur on a management server that is running System Center Operations Manager 2007 Service Pack 1 when certain management packs are installed
    http://support.microsoft.com/?id=951979

  • Hyper-V - How to remove VLAN tag from a server-core host server's VNIC locally

    Consider the following scenario:
    - Yo have installed server-core server and it only has a physical NIC
    - You created a external virtual network (VSwitch) and configured VLAN tag as well
    - You realized that you are being disconnected because your client computer is not in that VLAN

    You want to know how to remove the VLAN tag when no one is able to connect to the server remotely?

    說明與方法︰
    附件的 Script 可以移除 Hyper-V Server-core 上的所有 Virtual Networks 然後還原實體 NICs 的 Binding.

    *** This script  is provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use ***

    /*
    Copyright (c) Microsoft Corporation
    Module Name:
        nvspscrub.js
    */

    //
    // VirtualSwitchManagementService object.  Logical wrapper class for Switch Management Service
    //
    function
    VirtualSwitchManagementService(
        Server,
        User,
        Password
        )
    {
        //
        // Define instance fields.
        //   
        this.m_VirtualizationNamespace  = null;
        this.m_VirtualSwitchManagementService = null;

        //
        // Instance methods
        //       
        VirtualSwitchManagementService.prototype.DeleteSwitch =
        function(
            VirtualSwitch
            )
        /*++

        Description:

            Deletes a virtual switch
        Arguments:

            VirtualSwitch - Msvm_VirtualSwitch object to delete

        Return Value:

            SWbemMethod.OutParameters object.

        --*/
        {
            var methodName = "DeleteSwitch";

            var inParams = this.m_VirtualSwitchManagementService.Methods_(methodName).inParameters.SpawnInstance_();

            inParams.VirtualSwitch = VirtualSwitch.Path_.Path;
            return this.m_VirtualSwitchManagementService.ExecMethod_(methodName, inParams);
        }
        VirtualSwitchManagementService.prototype.DeleteInternalEthernetPort =
        function(
            InternalEthernetPort
            )

        /*++

        Description:

            Deletes an internal ethernet port
        Arguments:

            InternalEthernetPort - Msvm_InternalEthernetPort to delete
        Return Value:

            SWbemMethod.OutParameters object.

        --*/

        {
            var methodName = "DeleteInternalEthernetPort";

            var inParams = this.m_VirtualSwitchManagementService.Methods_(methodName).inParameters.SpawnInstance_();
            inParams.InternalEthernetPort = InternalEthernetPort.Path_.Path;
            return this.m_VirtualSwitchManagementService.ExecMethod_(methodName, inParams);
        }
        VirtualSwitchManagementService.prototype.UnbindExternalEthernetPort =
        function(
            ExternalEthernetPort
            )

        /*++

        Description:

            Unbinds an external ethernet port from the virtual network subsystem.  Usually this method
             won't be called directly
        Arguments:

            SwitchPort - Msvm_ExternalEthernetPort to unbind.

        Return Value:

            SWbemMethod.OutParameters object.

        --*/

        {
            var methodName = "UnbindExternalEthernetPort";

            var inParams = this.m_VirtualSwitchManagementService.Methods_(methodName).inParameters.SpawnInstance_();

            inParams.ExternalEthernetPort = ExternalEthernetPort.Path_.Path;
            return this.m_VirtualSwitchManagementService.ExecMethod_(methodName, inParams);
        }
        //
        // Utility functions
        //
        VirtualSwitchManagementService.prototype.WaitForNetworkJob =
        function(
            OutParams
            )

        /*++

        Description:

            WMI calls will exit with some type of return result.  Some will require
            a little more processing before they are complete. This handles those
            states after a wmi call.

        Arguments:

            OutParams - the parameters returned by the wmi call.

        Return Value:

            Status code

        --*/

        {
            if (OutParams.ReturnValue == 4096)
            {
                var jobStateStarting        = 3;
                var jobStateRunning         = 4;
                var jobStateCompleted       = 7;
                var networkJob;

                do
                {
                    WScript.Sleep(1000);
                    networkJob = this.m_VirtualizationNamespace.Get(OutParams.Job);

                } while ((networkJob.JobState == jobStateStarting) ||
                         (networkJob.JobState == jobStateRunning));

                if (networkJob.JobState != jobStateCompleted)
                {
                    throw(new Error(networkJob.ErrorCode,
                                    networkJob.Description + " failed: " + networkJob.ErrorDescription));
                }
                return networkJob.ErrorCode;
            }

            return OutParams.ReturnValue;
        }
        VirtualSwitchManagementService.prototype.GetSingleObject =
        function(
            SWbemObjectSet
            )

        /*++

        Description:

            Takes a SWbemObjectSet which is expected to have one object and returns the object

        Arguments:

            SWbemObjectSet - The set.

        Return Value:

            The lone member of the set.  Exception thrown if Count does not equal 1.

        --*/

        {
            if (SWbemObjectSet.Count != 1)
            {
                throw(new Error(5, "SWbemObjectSet was expected to have one item but actually had " + SWbemObjectSet.Count));
            }
            return SWbemObjectSet.ItemIndex(0);
        }

        //
        // Aggregate functions
        //
        VirtualSwitchManagementService.prototype.DeleteSwitchAndWait =
        function(
            VirtualSwitch
            )
        /*++

        Description:

            Deletes a switch
        Arguments:

            VirtualSwitch - Msvm_VirtualSwitch to delete
        Return Value:
            None.

        --*/
        {
            var outParams = this.DeleteSwitch(VirtualSwitch);

            var wmiRetValue = this.WaitForNetworkJob(outParams);

            if (wmiRetValue != 0)
            {
                throw(new Error(wmiRetValue, "DeleteSwitch failed"));
            }
        }
        VirtualSwitchManagementService.prototype.DeleteInternalEthernetPortAndWait =
        function(
            InternalEthernetPort
            )
        /*++

        Description:

            Deletes an internal ethernet port
        Arguments:

            InternalEthernetPort - Msvm_InternalEthernetPort to delete
        Return Value:

            SWbemMethod.OutParameters object.

        --*/
        {
            var outParams = this.DeleteInternalEthernetPort(InternalEthernetPort);

            var wmiRetValue = this.WaitForNetworkJob(outParams);

            if (wmiRetValue != 0)
            {
                throw(new Error(wmiRetValue, "DeleteInternalEthernetPortAndWait failed"));
            }
        }
        VirtualSwitchManagementService.prototype.UnbindExternalEthernetPortAndWait =
        function(
            ExternalEthernetPort
            )
        /*++

        Description:

            unbinds an internal ethernet port
        Arguments:

            ExternalEthernetPort - Msvm_ExternalEthernetPort to unbind
        Return Value:

            SWbemMethod.OutParameters object.

        --*/
        {
            var outParams = this.UnbindExternalEthernetPort(ExternalEthernetPort);

            var wmiRetValue = this.WaitForNetworkJob(outParams);

            if (wmiRetValue != 0)
            {
                throw(new Error(wmiRetValue, "UnbindExternalEthernetPortAndWait failed"));
            }
        }
        //
        // Constructor code
        //
        if (Server == null)
        {
            Server = WScript.CreateObject("WScript.Network").ComputerName;
        }
        //
        // Set Namespace fields
        //
        try
        {
            var locator = new ActiveXObject("WbemScripting.SWbemLocator");

            this.m_VirtualizationNamespace = locator.ConnectServer(Server, "root\\virtualization", User, Password);
        }
        catch (e)
        {
            this.m_VirtualizationNamespace = null;
            throw(new Error("Unable to get an instance of Virtualization namespace: " + e.description));
        }
        //
        // Set Msvm_VirtualSwitchManagementService field
        //
        try
        {
            var physicalComputerSystem =
                    this.m_VirtualizationNamespace.Get(
                            "Msvm_ComputerSystem.CreationClassName='Msvm_ComputerSystem',Name='" + Server + "'");
            this.m_VirtualSwitchManagementService = this.GetSingleObject(
                                                            physicalComputerSystem.Associators_(
                                                                "Msvm_HostedService",
                                                                "Msvm_VirtualSwitchManagementService",
                                                                "Dependent"));
        }
        catch (e)
        {
            this.m_VirtualSwitchManagementService = null;
            throw(new Error("Unable to get an instance of Msvm_VirtualSwitchManagementService: " + e.description));
        }
    }

    //
    // main
    //

    var wshShell = WScript.CreateObject("WScript.Shell");

    var g_NvspWmi   = null;

    Main();

    function Main()
    {
        WScript.Echo("Looking for nvspwmi...");
        g_NvspWmi   = new VirtualSwitchManagementService();

        WScript.Echo("");
        WScript.Echo("Looking for internal (host) virtual nics...");
        var list = g_NvspWmi.m_VirtualizationNamespace.ExecQuery("SELECT * FROM Msvm_InternalEthernetPort");
        for (i = 0; i < list.Count; i++)
        {
            var next = list.ItemIndex(i);
            WScript.echo(next.DeviceID);
            g_NvspWmi.DeleteInternalEthernetPortAndWait(next);
        }
        WScript.Echo("");
        WScript.Echo("Looking for switches...");
        list = g_NvspWmi.m_VirtualizationNamespace.ExecQuery("SELECT * FROM Msvm_VirtualSwitch");
        for (i = 0; i < list.Count; i++)
        {
            var next = list.ItemIndex(i);
            WScript.echo(next.Name);
            g_NvspWmi.DeleteSwitchAndWait(next);
        }
        WScript.Echo("");
        WScript.Echo("Looking for external nics...");
        list = g_NvspWmi.m_VirtualizationNamespace.ExecQuery("SELECT * FROM Msvm_ExternalEthernetPort WHERE IsBound=TRUE");
        for (i = 0; i < list.Count; i++)
        {
            var next = list.ItemIndex(i);
            WScript.echo(next.DeviceID);
            g_NvspWmi.UnbindExternalEthernetPortAndWait(next);
        }
        WScript.Echo("");
        WScript.Echo("Finished!");
    }

  • Security Database corrupted cause Policy failed to apply

    有時候,不管怎麼樣都無法套用policy,但是登入的動作都正常,SYSVOL的資料夾也可以正常訪問的話,看看下面的狀況,可能問題發生的情形相同。

    GPResults的資訊:

    MSFT\MSFT 的 RSOP 結果在 MSFT: 記錄模式
    ----------------------------------------------
    OS 類型:                     Microsoft Windows XP Professional
    OS 設定:                     成員工作站
    OS 版本:                     5.1.2600
    網域名稱:                  MSFT
    網域類型:                  Windows 2000
    站台名稱:                  Default-First-Site-Name
    漫遊設定檔:              
    本機設定檔:               C:\Documents and Settings\MSFT
    用低速連結來連線?: 否

    COMPUTER SETTINGS
    ------------------

        CN=MSFT,OU=Client,OU=WSUS,DC=MICROSOFT,DC=com,DC=tw

    上次套用的群組原則:     2009/3/10 at 上午 08:43:21
    套用的群組原則來自:     DC01.MICROSOFT.com.tw
    群組原則低速連結閾值: 500 kbps
    已套用的群組原則物件

    -----------

    Client WSUS Policy
    Client Admin Change Policy
    Software Deploy
    XP SP2 Policy
    Firewall Disable Policy
    Default Domain Policy
    本機群組原則

    看起來Policy套用是有的,但是期望的Policy還是沒有生效。

    不過我們從Winlogon.log 中發現以下錯誤:

    建立 \\MICROSOFT.com.tw\sysvol\MICROSOFT.com.tw\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\Machine\Microsoft\Windows NT\SecEdit\GptTmpl.inf 的本機複本。

    GPLinkDomain GPO_INFO_FLAG_BACKGROUND )

    建立 \\MICROSOFT.com.tw\sysvol\MICROSOFT.com.tw\Policies\{30A020C9-8D63-44C7-9F78-B38F751BAB58}\Machine\Microsoft\Windows NT\SecEdit\GptTmpl.inf 的本機複本。

    GPLinkOrganizationUnit GPO_INFO_FLAG_BACKGROUND )

    建立 \\MICROSOFT.com.tw\sysvol\MICROSOFT.com.tw\Policies\{7F0629EF-1CAA-4DA1-9F67-36901C441328}\Machine\Microsoft\Windows NT\SecEdit\GptTmpl.inf 的本機複本。

    GPLinkOrganizationUnit GPO_INFO_FLAG_BACKGROUND )

    群組原則物件 \\MICROSOFT.com.tw\sysvol\MICROSOFT.com.tw\Policies\{9547A99D-B82F-4563-9B42-57228985C31E}\Machine 中並未定義範本。

    處理 GP 範本 gpt00000.dom。

    這不是最後一個 GPO。

    -------------------------------------------

    2009年3月1日 上午 02:43:03

    錯誤 1208: 發生延伸錯誤。

    建立 database 時發生錯誤。

    ----設定引擎初始化發生錯誤。----

    ----不初始化設定引擎...

    **************************

    和UserENV裡面發現大量以下錯誤:

    USERENV(404.218) 16:10:01:373 ProcessGPOs: Extension Security ProcessGroupPolicy failed, status 0x4b8.

    USERENV(404.f54) 16:27:29:091 ProcessGPOs: GetGPOInfo failed.

    USERENV(404.218) 17:51:08:265 ProcessGPOs: Extension Security ProcessGroupPolicy failed, status 0x4b8.

    USERENV(404.f54) 18:08:29:334 ProcessGPOs: GetGPOInfo failed.

    事件檢視器中也有相關錯誤:

    事件類型:  警告
    事件來源:  SceCli
    事件類別目錄:    無
    事件識別碼:       1202
    日期:         2009/3/10
    時間:         上午 08:43:30
    使用者:             N/A
    電腦: MSFT

    描述:
    安全性原則傳播中含有警告。 0x4b8 : 發生延伸錯誤。
    若要得到解決這個事件的最佳結果,請以非系統管理員帳戶登入,然後在http://support.microsoft.com 搜尋 "Troubleshooting Event 1202's"。

    請在 http://go.microsoft.com/fwlink/events.asp 查看說明及支援中心,以取得其他資訊。

    事件類型:  錯誤
    事件來源:  Userenv
    事件類別目錄:    無
    事件識別碼:       1085
    日期:         2009/3/10
    時間:         上午 08:43:30
    使用者:             NT AUTHORITY\SYSTEM
    電腦: MSFT

    描述:
    無法執行群組原則用戶端延伸 Security。請試著找出延伸先前是否有錯誤報告。
    請在 http://go.microsoft.com/fwlink/events.asp 查看說明及支援中心,以取得其他資訊。

    目前我們看到這樣的狀況,我們可以判斷這個問題是由於 secedit.sdb 資料庫損毀所導致的。

    接下來,請依照以下方案重建 Secedit.sdb:

    1. Open the %SystemRoot%\Security folder, create a new folder, and then name it "OldSecurity".

    2. Move all of the files ending in .log from the %SystemRoot%\Security folder to the OldSecurity folder.

    3. Find the Secedit.sdb file in the %SystemRoot%\Security\Database folder, and then rename this file to "Secedit.old".

    4. Click Start, click Run, type mmc, and then click OK.

    5. Click Console, click Add/Remove Snap-in, and then add the Security and Configuration snap-in.

    6. Right-click Security and Configuration and Analysis, and then click Open Database.

    7. Browse to the %TEMP% folder, type Secedit.sdb in the File name box, and then click Open.

    8. When you are prompted to import a template, click Setup Security.inf, and then click Open.

    9. Copy %TEMP%\Secedit.sdb %SystemRoot%\Security\Database.