精华内容
下载资源
问答
  • 关于Selenium监听不能监听浏览器实际发生事件的研究 由于工作需要,因此进行了Selenium监听方面的研究,发现一个问题: Selenium的监听无法监听浏览器实际发生事件。   由于本人用的是java+Selenium...

    关于Selenium监听器不能监听浏览器实际发生的事件的研究

    由于工作需要,因此进行了Selenium监听器方面的研究,发现一个问题:


    Selenium的监听器无法监听浏览器实际发生的事件。

     

    由于本人用的是java+Selenium,因此关于其它语言使用Selenium注册监听器后能否监听到浏览器实际发生的事件的问题并不知晓。如果有朋友发现本文有错误,还请指出,作者会及时进行修改;如果有朋友对于这个问题有更好的解决方法,欢迎评论留言。

    下面开始研究正文:

    1.为什么Selenium不能监听浏览器实际发生的事件
    众所周知,在Java中,我们使用这样的方法注册Selenium监听器:

    -------------------------------------------------------------------------
    //这是IEDriverServer.exe的绝对路径,selenium启动IE浏览器需要的驱动文件
    String driverPath = "G:/IEDriverServer.exe";
    //在System中配置IE驱动的路径
    System.setProperty("webdriver.ie.driver",driverPath);
    //先创建InternetExplorerDriver对象,再创建EventFiringWebDriver对象
    //EventFiringWebDriver类实现了WebDriver接口,比原始的WebDriver对象增加了监听器相应方法(WebDriver对象就是Selenium中常用的控制浏览器的对象)
    //当代码执行以下这句时,就会自动打开一个IE浏览器
    EventFiringWebDriver webDriver = new EventFiringWebDriver(new InternetExplorerDriver());
    //创建监听器对象WebEventListenerSelenium,这个类是我自定义的,继承了AbstractWebDriverEventListener类,重写了相应的监听方法
    WebEventListenerSelenium listener = new WebEventListenerSelenium();
    //Selenium的webDriver对象注册监听器
    ((EventFiringWebDriver)webDriver).register(listener);
    -------------------------------------------------------------------------

    在AbstractWebDriverEventListener类中,有以下方法:
        
        //在导航页面之前执行的监听器方法
        public void beforeNavigateTo(String url, WebDriver driver) {
        }
        //在导航页面之后执行的监听器方法
        public void afterNavigateTo(String url, WebDriver driver) {
        }
        //在点击事件之前执行的监听器方法
        public void beforeClickOn(WebElement element, WebDriver driver) {
        }
        //在点击事件之后执行的监听器方法
        public void afterClickOn(WebElement element, WebDriver driver) {
        }    
        //在js执行之前执行的监听器方法
        public void beforeScript(String script, WebDriver driver) {
        }
        //在js执行之后执行的监听器方法
        public void afterScript(String script, WebDriver driver) {
        }    
        //以下不一一列举
        ..................
        
    我们可以继承AbstractWebDriverEventListener类,重写需要的方法,之后在webDriver中注册,这样就实现了自定义监听器。


    但是,这样有一个问题:
    在使用导航方法webDriver.get("www.baidu.com");方法时,我们在监听器中重写的方法beforeNavigateTo(){}、afterNavigateTo(){}是可以按照导航前执行、导航后执行实现监听的;可如果我们在浏览器的地址栏中输入一个网址进行跳转时,beforeNavigateTo(){}、afterNavigateTo(){}中的方法并不会执行。
    同理,使用((JavascriptExecutor)webDriver).executeScript("console.log('我是js代码')");方法执行js时,beforeScript(){}、afterScript(){}方法可以执行,但是在浏览器打开开发者工具执行js时,监听器方法beforeScript(){}、afterScript(){}并不会执行;
    相应的在代码中使用click()方法时,beforeClickOn(){}、afterClickOn(){}可以执行,但是在浏览器中真正点击一个按钮、超链接时,已经注册好的监听器方法beforeClickOn(){}、afterClickOn(){}还是不会执行。

    为什么会这样呢?我使用的就是Selenium通过new InternetExplorerDriver()自动打开的浏览器啊?执行代码明明可以让这个浏览器页面跳转、执行js、触发点击事件,以及触发我写好的监听器,为什么我直接在浏览器上操作就不能触发监听器呢?

    解决这个问题,我们需要看一下Selenium的源码。
    (1)EventFiringWebDriver类中注册监听器的源码:
    private final List<WebDriverEventListener> eventListeners = new ArrayList();
    public EventFiringWebDriver register(WebDriverEventListener eventListener) {
            this.eventListeners.add(eventListener);
            return this;
        }
    首先,这个类中有一个监听器ArrayList集合,当我们调用注册方法时,就是在集合中添加了一个监听器对象。    

    (2)EventFiringWebDriver类中导航方法get()的源码:
    public void get(String url) {
            this.dispatcher.beforeNavigateTo(url, this.driver);
            this.driver.get(url);
            this.dispatcher.afterNavigateTo(url, this.driver);
        }
        
    看到beforeNavigateTo与afterNavigateTo方法了吗?这个就是我们自定义监听器的方法。它们分别在this.driver.get(url);前后,实现导航网页前后的监听。
    也就是说,当我们执行webDriver.get(url)方法时,先执行beforeNavigateTo()方法,然后执行原本的get(url)方法,最后执行afterNavigateTo()方法。看起来就像是监听到导航事件后执行相应监听器方法一样。
    至于为什么通过this.dispatcher来调用监听器方法,这个和动态代理有关,不是本文的重点,有兴趣的朋友可以自己看看源码分析一下。

    看到这里,我们发现,代码中webDriver执行相应方法会触发监听器的问题解决了,而在浏览器中实际进行导航、点击、执行js为什么不会触发监听器的问题还没有解决。


    为什么呢?其实很简单,Selenium没有实现这个功能。

     

    作者查看了WebDriver、EventFiringWebDriver等Selenium的源码,并没有发现关于浏览器实际操作的类似监听器方法,也就是说Selenium的监听器就是只能监听代码事件,而不能监听实际浏览器事件。

    还有一个方面可以侧面说明Selenium为什么不能监听页面事件,就是Selenium的工作原理。

    Selenium原理:
    webdriver是按照server–client的经典设计模式设计的: 
    server端就是remote server,可以是任意的浏览器:我们的脚本启动浏览器后,该浏览器就是remote server,它的职责就是等待client发送请求并做出相应。
    client端简单说来就是我们的测试代码:我们测试代码中的一些行为,比如打开浏览器,转跳到特定的url等操作是以http请求的方式发送给server端(也就是被测浏览器),server接受请求,执行相应操作,并在response中返回执行状态、返回值等信息。

    可以看出,Selenium启动的浏览器在server端,我们写的代码在client端,client端通过传递给server端信息来达到控制效果。
    client端的监听器可以监听同在client端的代码,但是对于直接操作浏览器(也就是直接操作server端)触发的事件无法监听。

    2.研究背景
    下面讲讲作者为什么要进行这项研究。
    作者之前是使用java的DJNativeSwing内嵌浏览器的,其中也有一个与Selenium的WebDriver类似的对象:JWebBrowser,它是这样注册监听器的:

    //创建一个JWebBrowser对象
    JWebBrowser webBrowser = new JWebBrowser(JWebBrowser.destroyOnFinalization());
    //注册监听器
    webBrowser.addWebBrowserListener(new WebBrowserAdapter(){});

    这里的WebBrowserAdapter类类似AbstractWebDriverEventListener类,其中也可以重写一些监听方法,当浏览器跳转页面时执行等。

    DJNativeSwing结合JFrame,可以创建一个自定义的浏览器窗口,通过JWebBrowser控制其跳转页面、执行js等,在JWebBrowser注册监听器后,无论是代码中执行导航方法、还是手动实际改变浏览器地址栏导航,监听器都可以监听到。

    但是当作者使用Selenium创建浏览器、WebDriver注册监听器后,却发现不能监听浏览器实际发生的事件,就很郁闷......

    3.解决方法
    如果我就是想写监听器监听浏览器实际发生的事件,怎么办呢?
    (1)等待Selenium更新。如果Selenium能够将监听器注册到Server端(浏览器端),那么就可以监听浏览器实际发生的事件了。关于这一点,作者还没有找到Selenium中除了EventFiringWebDriver注册监听器外其余的方法,也许已经有其余注册监听器的方法了呢?如果真的存在,还请朋友们为我指点迷津。
    (2)使用DJNativeSwing。DJNativeSwing注册的JWebBrowser监听器是可以监听代码中与浏览器实际发生的事件的,本人亲测,绝对可用。虽然其源码有些复杂,跳来跳去没有看懂。

    最后,热烈欢迎朋友们对本文进行批评指点,如有不足,还请指出,作者会及时修改;如有其余Selenium监听浏览器实际发生的事件的方法,还请多多指出,让我们共同学习进步。

    展开全文
  • 症状 在运行 Microsoft Windows Server 2003、...在网络上的域控制之间进行的组策略复制未完成。无法打开组策略管理单元。例如,无法打开域控制安全策略管理单元或域安全策略管理单元。尝试打开组策略管理单元

    症状

    在运行 Microsoft Windows Server 2003、Microsoft Windows XP 或 Microsoft Windows 2000 的计算机上,您会遇到以下的一种或多种症状:
    • 组策略设置未应用到计算机。
    • 在网络上的域控制器之间进行的组策略复制未完成。
    • 无法打开组策略管理单元。例如,无法打开域控制器安全策略管理单元或域安全策略管理单元。
    • 尝试打开组策略管理单元时,您收到下列错误信息之一:
      Failed to open the Group Policy Object.You may not have the appropriate rights. 
      Details:The account is not authorized to log in from this station.
      You do not have permission to perform this operation. 
      Details:Access is denied.
      Failed to open the Group Policy Object.You may not have the appropriate rights. 
      Details:The system cannot find the path specified.
    • 尝试访问任何域控制器上的共享文件时,您收到一条错误信息。即使登录到服务器,并尝试访问本地共享,仍会出现此症状。具体来说,此症状可能会影响对域控制器的 Sysvol 共享的访问。
    • 尝试访问文件共享时,系统将重复提示您输入密码。
    • 尝试访问文件共享时,您收到与以下错误信息之一类似的错误信息:
      \\Server_Name\Share_Name is not accessible.You might not have permission to use this network resource.Contact the administrator of this server to find out if you have access permissions. 
      The account is not authorized to log in from this station.
      \\Server_Name\Share_Name is not accessible. 
      The account is not authorized to log in from this station.
      The network path was not found.
    在 Windows XP 或 Windows Server 2003 的事件查看器中查看应用程序日志时,将看到与以下事件类似的事件:
    类型: 错误 
    来源: Userenv 
    类别: 无 
    事件 ID: 1058 
    日期: Date
    时间: Time
    用户: User_Name
    计算机: Computer_Name
    描述:Windows 无法访问 GPO CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=domainname,DC=com 的文件 gpt.ini。此文件必须在 <\\domainname.com\sysvol\domainname.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984 F9}\gpt.ini>。(Error_Message)。组策略处理中止。 有关更多信息,请参阅在 http://support.microsoft.com 的帮助和支持中心。
    在事件 ID 1058 中的 Error_Message 占位符中出现的错误信息可能是以下任一错误信息:
    • 找不到网络路径。
    • 访问被拒绝。
    • 未能从域控制器读取配置信息,或者因为机器不可使用,或者是访问被拒绝。
    类型: 错误 
    来源: Userenv 
    类别: 无 
    事件 ID: 1030 
    日期: Date
    时间: Time
    用户: User_Name
    计算机: Computer_Name
    描述:Windows 不能查询组策略对象列表。描述此问题的原因的消息先前被策略引擎记录。 有关更多信息,请参阅在 http://support.microsoft.com 的帮助和支持中心。
    通常,如果发生事件 ID 1058 和事件 ID 1030,则在计算机启动时,客户机和成员服务器将对它们进行记录。域控制器每五分钟记录一次这些事件。

    在基于 Windows 2000 的计算机上的事件查看器中查看应用程序日志时,将看到与以下事件类似的事件:
    类型: 错误 
    来源: Userenv 
    类别: 无 
    事件 ID: 1000 
    日期: Date
    时间: Time
    用户: NT AUTHORITY\SYSTEM 
    计算机: Computer_Name
    描述:Windows 不能在 \\domainname.com\sysvol\domainname.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F 9}\Machine\registry.pol 访问注册表信息 (Error_Code)。
    事件 ID 1000 中的 Error_Code 占位符中出现的错误代码可能是以下任一错误代码:
    • 5
    • 51
    • 53
    • 1231
    • 1240
    • 1722

    Collapse image原因

    如果网络上的计算机无法连接到某些组策略对象,就会发生这些问题。具体来说,这些对象位于网络的域控制器上的 Sysvol 文件夹中。

    Collapse image解决方案

    警告:注册表编辑器或其他方法使用不当可能导致严重问题。这些问题可能需要重新安装操作系统。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。

    要解决此问题,您必须对网络配置进行故障排除以减小引发此问题的可能性,然后更正配置。要排查发生此问题的可能原因,请按照下列步骤操作:

    第一步:检查服务器和客户机上的 DNS 设置和网络属性

    在本地连接属性中,所有服务器和客户机上都必须启用“Microsoft 网络客户端”。所有域控制器上都必须启用“Microsoft 网络的文件和打印机共享”组件。

    此外,网络上的每台计算机都必须使用能够解析该计算机所属 Active Directory 林的 SRV 记录和主机名的 DNS 服务器。通常,发生常见配置错误是因为客户机使用了属于 Internet 服务提供商 (ISP) 的 DNS 服务器。

    在所有记录了 Userenv 错误的计算机上,检查 DNS 设置和网络属性。此外,在所有域控制器上检查这些设置,无论这些域控制器是否记录 Userenv 错误。

    要验证网络中基于 Windows XP 的计算机上的 DNS 设置和网络属性,请按照下列步骤操作:
    1. 单击“开始”,然后单击“控制面板”。
    2. 如果控制面板以分类视图显示,请单击“切换到经典视图”。
    3. 双击“网络连接”,右键单击“本地连接”,然后单击“属性”。
    4. 在“常规”选项卡上,单击以选中“Microsoft 网络客户端”复选框。
    5. 单击“Internet 协议 (TCP/IP)”,然后单击“属性”。
    6. 如果选择了“使用下面的 DNS 服务器地址”,请确保首选 DNS 服务器和备用 DNS 服务器的 IP 地址是能够解析 Active Directory 中的 SRV 记录和主机名的 DNS 服务器的 IP 地址。具体来说,计算机不能使用属于 ISP 的 DNS 服务器。如果 DNS 服务器地址不正确,请在“首选 DNS 服务器”框和“备用 DNS 服务器”框中键入正确 DNS 服务器的 IP 地址。
    7. 单击“高级”,然后单击“DNS”选项卡。
    8. 单击以选中“在 DNS 中注册此连接的地址”复选框,然后单击“确定”三次。
    9. 打开一个命令提示符窗口。为此,请依次单击“开始”、“运行”,键入 cmd,然后单击“确定”。
    10. 键入 ipconfig /flushdns,然后按 Enter 键。键入 ipconfig /registerdns,然后按 Enter 键。
    11. 重新启动计算机,以使更改生效。
    要验证网络中基于 Windows 2000 的计算机上的 DNS 设置和网络属性,请按照下列步骤操作:
    1. 单击“开始”,指向“设置”,然后单击“控制面板”。
    2. 双击“网络和拨号连接”。
    3. 右键单击“本地连接”,然后单击“属性”。
    4. 在“常规”选项卡上,单击以选中“Microsoft 网络客户端”复选框。
    5. 如果计算机是域控制器,请单击以选中“Microsoft 网络的文件和打印机共享”复选框。 

      注意:在多主远程访问服务器和基于 Microsoft Internet Security and Acceleration (ISA) Server 的服务器上,您可以对连接到 Internet 的网络适配器禁用“Microsoft 网络的文件和打印机共享”组件。不过,必须对所有服务器的网络适配器启用“Microsoft 网络客户端”组件。
    6. 单击“Internet 协议 (TCP/IP)”,然后单击“属性”。
    7. 如果选择了“使用下面的 DNS 服务器地址”,请确保首选 DNS 服务器和备用 DNS 服务器的 IP 地址是能够解析 Active Directory 中的 SRV 记录和主机名的 DNS 服务器的 IP 地址。具体来说,计算机不能使用属于 ISP 的 DNS 服务器。如果 DNS 服务器地址不正确,请在“首选 DNS 服务器”框和“备用 DNS 服务器”框中键入正确 DNS 服务器的 IP 地址。
    8. 单击“高级”,然后单击“DNS”选项卡。
    9. 单击以选中“在 DNS 中注册此连接的地址”复选框,然后单击“确定”三次。
    10. 打开一个命令提示符窗口。为此,请依次单击“开始”、“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    11. 键入 ipconfig /flushdns,然后按 Enter 键。键入 ipconfig /registerdns,然后按 Enter 键。
    12. 重新启动计算机。
    要验证网络中基于 Windows Server 2003 的计算机上的 DNS 设置和网络属性,请按照下列步骤操作:
    1. 单击“开始”,指向“控制面板”,然后双击“网络连接”。
    2. 右键单击“本地连接”,然后单击“属性”。
    3. 在“常规”选项卡上,单击以选中“Microsoft 网络客户端”复选框。
    4. 如果计算机是域控制器,请单击以选中“Microsoft 网络的文件和打印机共享”复选框。 

      注意:在多主远程访问服务器和基于 ISA Server 的服务器上,您可以对连接到 Internet 的网络适配器禁用“Microsoft 网络的文件和打印机共享”组件。不过,必须对所有服务器的网络适配器启用“Microsoft 网络客户端”组件。
    5. 单击“Internet 协议 (TCP/IP)”,然后单击“属性”。
    6. 如果选择了“使用下面的 DNS 服务器地址”,请确保首选 DNS 服务器和备用 DNS 服务器的 IP 地址是能够解析 Active Directory 中的 SRV 记录和主机名的 DNS 服务器的 IP 地址。具体来说,计算机不能使用属于 ISP 的 DNS 服务器。如果 DNS 服务器地址不正确,请在“首选 DNS 服务器”框和“备用 DNS 服务器”框中键入正确 DNS 服务器的 IP 地址。
    7. 单击“高级”,然后单击“DNS”选项卡。
    8. 单击以选中“在 DNS 中注册此连接的地址”复选框,然后单击“确定”三次。
    9. 打开一个命令提示符窗口。为此,请依次单击“开始”、“运行”,键入 cmd,然后单击“确定”。
    10. 键入 ipconfig /flushdns,然后按 Enter 键。键入 ipconfig /registerdns,然后按 Enter 键。
    11. 重新启动计算机,以使更改生效。
    如果网络中的客户机配置为自动获取 IP 地址,请确保运行 DHCP 服务的计算机分配了能够解析 Active Directory 中的 SRV 记录和主机名的 DNS 服务器的 IP 地址。

    要确定计算机使用的 DNS 的 IP 地址,请按照下列步骤操作:
    1. 打开一个命令提示符窗口。为此,请依次单击“开始”、“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    2. 键入 ipconfig /all,然后按 Enter 键。
    3. 请注意屏幕上列出的 DNS 项。
    如果配置为自动获得 IP 地址的计算机使用的 DNS 服务器不正确,请查看您的 DHCP 服务器文档,以获得有关如何配置 DNS 服务器选项的信息。 此外,请确保每台计算机都能够解析域的 IP 地址。为此,请在命令提示符下键入 pingYour_Domain_Name.Your_Domain_Root,然后按 Enter 键。或者,键入 nslookup Your_Domain_Name.Your_Domain_Root,然后按 Enter 键。

    注意:此主机名应解析为网络上某一域控制器的 IP 地址。如果计算机不能解析此名称,或者此名称解析为错误的 IP 地址,请确保域的正向查找区域包含有效的“(与父文件夹相同)”主机 (A) 记录。

    要确保域的正向查找区域包含基于 Windows 2000 的计算机上的有效“(与父文件夹相同)”主机 (A) 记录,请按照下列步骤操作:
    1. 在运行 DNS 的域控制器上单击“开始”,指向“程序”,指向“管理工具”,然后单击“DNS”。
    2. 依次展开“Your_Server_Name”、“正向查找区域”,然后单击域的正向查找区域。
    3. 查找“(与父文件夹相同)”主机 (A) 记录。
    4. 如果“(与父文件夹相同)”主机 (A) 记录不存在,请按照下列步骤创建一条记录:
      1. 在“操作”菜单上,单击“新建主机”。
      2. 在“IP 地址”框中,键入域控制器的本地网络适配器的 IP 地址。
      3. 单击以选中“创建相关的指针(PTR)记录”复选框,然后单击“添加主机”。
      4. 如果收到以下信息,请单击“是”:
        “(与父文件夹相同)”不是一个有效的主机名。您确实要添加这个记录吗?
    5. 双击“(与父文件夹相同)”主机 (A) 记录。
    6. 验证正确的 IP 地址是否列在“IP 地址”框中。
    7. 如果“IP 地址”框中的 IP 地址无效,请在“IP 地址”框中键入正确的 IP 地址,然后单击“确定”。
    8. 也可以删除包含无效 IP 地址的“(与父文件夹相同)”主机 (A) 记录。要删除“(与父文件夹相同)”主机 (A) 记录,请右键单击该记录,然后单击“删除”。
    9. 如果 DNS 服务器是一个域控制器,并且该域控制器同时还是路由和远程访问服务器,请查看下面的 Microsoft 知识库文章:
      292822 同时也运行 DNS 或 WINS 的路由和远程访问服务器上的名称解析和连接问题
    10. 在您添加、删除或修改 DNS 记录的所有计算机上,在命令提示符下键入 ipconfig /flushdns,然后按 Enter 键。
    要确保域的正向查找区域包含基于 Windows Server 2003 的计算机上的有效“(与父文件夹相同)”主机 (A) 记录,请按照下列步骤操作:
    1. 在运行 DNS 的域控制器上,单击“开始”,指向“管理工具”,然后单击“DNS”。
    2. 依次展开“Your_Server_Name”、“正向查找区域”,然后单击域的正向查找区域。
    3. 查找“(与父文件夹相同)”主机 (A) 记录。
    4. 如果“(与父文件夹相同)”主机 (A) 记录不存在,请按照下列步骤创建一条记录:
      1. 在“操作”菜单上,单击“新建主机(A)”。
      2. 在“IP 地址”框中,键入域控制器的本地网络适配器的 IP 地址。
      3. 单击以选中“创建相关的指针(PTR)记录”复选框,然后单击“添加主机”。
      4. 在收到以下信息时,单击“是”:
        “(与父文件夹相同)”不是一个有效的主机名。您确实要添加这个记录吗?
    5. 双击“(与父文件夹相同)”主机 (A) 记录。
    6. 验证正确的 IP 地址是否列在“IP 地址”框中。
    7. 如果“IP 地址”框中的 IP 地址无效,请在“IP 地址”框中键入正确的 IP 地址,然后单击“确定”。
    8. 也可以删除包含无效 IP 地址的“(与父文件夹相同)”主机 (A) 记录。要删除主机 (A) 记录,请右键单击“(与父文件夹相同)”,然后单击“删除”。
    9. 如果 DNS 服务器是一个域控制器,并且该域控制器同时还是路由和远程访问服务器,请查看下面的 Microsoft 知识库文章:
      292822 同时也运行 DNS 或 WINS 的路由和远程访问服务器上的名称解析和连接问题
    10. 在您添加、删除或修改 DNS 记录的所有计算机上,在命令提示符下键入 ipconfig /flushdns,然后按 Enter 键。

    第二步:检查客户机和成员服务器上的服务器消息块签名设置

    服务器消息块 (SMB) 签名设置定义网络上的计算机是否对通信进行数字签名。如果 SMB 签名设置配置不正确,则客户机或成员服务器可能无法连接到域控制器。

    例如,域控制器可能要求 SMB 签名,但 SMB 签名在客户机上可能被禁用。如果发生此问题,则无法正确应用组策略。这样,客户机会在应用程序日志中记录用户环境 (Userenv) 错误。 
    有时,域控制器上的服务器服务和工作站服务的 SMB 签名设置可能彼此冲突。

    例如,可以对域控制器的工作站服务禁用 SMB 签名,但是域控制器的服务器服务要求 SMB 签名。在这种情况下,如果您登录到服务器,将无法打开该域控制器的一个或多个本地文件共享。此外,如果您登录到服务器,将无法打开组策略管理单元。 有关如何对域控制器上的此类问题进行故障排除的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    839499 对域控制器上的工作站服务或服务器服务禁用 SMB 签名时不能打开文件共享或组策略管理单元
    如果组策略错误仅发生在客户机和成员服务器上,或者您确定 KB 文章 839499 不适用于您的情况,请继续对该问题进行故障排除。

    默认情况下,SMB 签名是启用的,但是运行 Windows XP、Windows 2000 或 Windows Server 2003 的客户机和成员服务器上的客户端通信不要求 SMB 签名。我们建议您使用默认配置,因为虽然客户机在可能的时候可以使用 SMB 签名,但它仍然会与禁用了 SMB 签名的服务器进行通信。

    要配置客户机和成员服务器以便启用 SMB 签名而不要求 SMB 签名,您必须更改某些注册表项的值。要在客户机上对注册表进行更改,请按照下列步骤操作:
    1. 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”。
    2. 展开以下注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
    3. 在右窗格中,右键单击“enablesecuritysignature”,然后单击“修改”。
    4. 在“数值数据”框中,键入 0,然后单击“确定”。
    5. 右键单击“requiresecuritysignature”,然后单击“修改”。
    6. 在“数值数据”框中,键入 0,然后单击“确定”。
    7. 展开以下注册表子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters
    8. 在右窗格中,右键单击“enablesecuritysignature”,然后单击“修改”。
    9. 在“数值数据”框中,键入 1,然后单击“确定”。
    10. 右键单击“requiresecuritysignature”,然后单击“修改”。
    11. 在“数值数据”框中,键入 0,然后单击“确定”。
    更改注册表值后,重新启动服务器服务和工作站服务。不要重新启动计算机,因为重新启动计算机将导致应用组策略,而组策略设置可能会再次配置冲突值。 

    在受影响的计算机上更改注册表值并重新启动服务器服务和工作站服务后,请按照下列步骤操作:
    1. 查看应用到受影响的计算机帐户的一个或多个 GPO 的组策略设置。
    2. 确保组策略与所需的注册表设置不冲突。
    3. 使用组策略对象编辑器来查看以下文件夹中的策略设置:
      Computer Configuration/Windows Settings/Security Settings/Local Policies/Security Options
    在运行 Windows Server 2003 的计算机上,SMB 签名组策略设置具有下列名称:
    • Microsoft 网络服务器:数字签名的通信(总是)
    • Microsoft 网络服务器:数字签名的通信(若客户端同意)
    • Microsoft 网络客户端:数字签名的通信(总是)
    • Microsoft 网络客户端:数字签名的通信(若服务器同意)
    在运行 Windows 2000 Server 的计算机上,SMB 签名组策略设置具有下列名称:
    • 数字签名的通信(总是)
    • 数字签名的服务器通信(可能时)
    • 数字签名的客户端通信(总是)
    • 数字签名的客户端通信(可能时)
    通常,SMB 签名组策略设置配置为“未定义”。如果定义 SMB 签名组策略设置,一定要了解该设置可能会对网络连接产生什么影响。 有关 SMB 签名设置的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    823659 修改安全设置和用户权限分配时可能出现的客户端、服务和程序不兼容问题
    如果在运行 Windows 2000 Server 的域控制器上更改 GPO 设置,请按照下列步骤操作:
    1. 打开一个命令提示符窗口。为此,请依次单击“开始”、“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    2. 键入 secedit /refreshpolicy machine_policy /enforce,然后按 Enter 键。
    3. 重新启动受影响的客户机。
    4. 重新检查客户机上的注册表中的 SMB 签名值,以确保没有意外更改它们。
    如果在运行 Windows Server 2003 的域控制器上更改 GPO 设置,请按照下列步骤操作:
    1. 打开一个命令提示符窗口。为此,请依次单击“开始”、“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    2. 键入 gpupdate /force,然后按 Enter 键。
    3. 重新启动受影响的客户机。
    4. 重新检查客户机上的注册表中的 SMB 签名值,以确保没有意外更改它们。
    如果在重新启动客户机后意外更改了注册表中的 SMB 签名值,请使用下列方法之一来查看应用到客户机的策略设置:
    • 在基于 Windows XP 的计算机上,使用策略的结果集 MMC 管理单元 (Rsop.msc)。有关策略的结果集的更多信息,请访问下面的 Microsoft“Resultant Set of Policy”(策略的结果集)网站:
    • 在 Windows 2000 上,使用 Gpresult.exe 命令行工具检查组策略结果。为此,请按照下列步骤操作:
      1. 从 Windows 2000 资源工具包安装 Gpresult.exe。

        也可以从下面的 Microsoft“Gpresult.exe:Group Policy Results”(Gpresult.exe:组策略结果)网站来下载 Gpresult.exe:
      2. 在命令提示符下键入 gpresult /scope computer,然后按 Enter 键。
      3. 在输出的“应用的组策略对象”部分,注意应用到计算机帐户的组策略对象。
      4. 比较应用到计算机帐户的组策略对象,该帐户在域控制器上具有针对这些组策略对象的 SMB 签名策略设置。

    第三步:确保在所有的计算机上都启动了 TCP/IP NetBIOS Helper 服务

    网络上的所有计算机都必须运行 TCP/IP NetBIOS Helper 服务。

    要验证 TCP/IP NetBIOS Helper 服务是否正在基于 Windows XP 的计算机上运行,请按照下列步骤操作:
    1. 单击“开始”,然后单击“控制面板”。
    2. 如果控制面板以分类视图显示,请单击“切换到经典视图”。
    3. 双击“管理工具”。
    4. 双击“服务”。
    5. 在“服务”列表中,单击“TCP/IP NetBIOS Helper”。验证“状态”列下的值是否为“已启动”。验证“启动类型”列下的值是否为“自动”。 如果“状态”值或“启动类型”值不正确,请按照下列步骤操作:
      1. 右键单击“TCP/IP NetBIOS Helper”,然后单击“属性”。
      2. 在“启动类型”列表中,单击“自动”。
      3. 在“服务状态”区域中,如果未启动服务,单击“启动”。
      4. 单击“确定”。
    要验证 TCP/IP NetBIOS Helper 服务是否正在基于 Windows Server 2003 的计算机上运行,请按照下列步骤操作:
    1. 单击“开始”,指向“管理工具”,然后单击“服务”。
    2. 在“服务”列表中,单击“TCP/IP NetBIOS Helper”。验证“状态”列下的值是否为“已启动”。验证“启动类型”列下的值是否为“自动”。 如果“状态”值或“启动类型”值不正确,请按照下列步骤操作:
      1. 右键单击“TCP/IP NetBIOS Helper”,然后单击“属性”。
      2. 在“启动类型”列表中,单击“自动”。
      3. 在“服务状态”区域中,如果未启动服务,单击“启动”。
      4. 单击“确定”。
    要验证 TCP/IP NetBIOS Helper 服务是否正在基于 Windows 2000 的计算机上运行,请按照下列步骤操作:
    1. 单击“开始”,指向“程序”,指向“管理工具”,然后单击“服务”。
    2. 在“服务”列表中,单击“TCP/IP NetBIOS Helper Service”。验证“状态”列下的值是否为“已启动”。验证“启动类型”列下的值是否为“自动”。 如果“状态”值或“启动类型”值不正确,请按照下列步骤操作:
      1. 右键单击“TCP/IP NetBIOS Helper Service”,然后单击“属性”。
      2. 在“启动类型”列表中,单击“自动”。
      3. 在“服务状态”区域中,如果未启动服务,单击“启动”。
      4. 单击“确定”。
    此外,请确保您尚未使用组策略对象禁用一个或多个所需的系统服务。使用组策略对象编辑器在“Computer Configuration/Windows Settings/Security Settings/System Services”文件夹中查看这些策略设置。

    在 Windows Server 2003 和 Windows XP 上,您可以使用策略的结果集 MMC 管理单元 (Rsop.msc) 检查所有应用到计算机的策略设置。为此,请依次单击“开始”、“运行”,在“打开”框中键入 rsop.msc,然后单击“确定”。

    在 Windows 2000 上,使用 Gpresult.exe 命令行工具检查组策略结果。为此,请按照下列步骤操作:
    1. 从 Windows 2000 资源工具包安装 Gpresult.exe。

      也可以访问下面的 Microsoft“Gpresult.exe:Group Policy Results”(Gpresult.exe:组策略结果)网站来下载 Gpresult.exe:
    2. 在命令提示符下键入 gpresult /scope computer,然后按 Enter 键。
    3. 在输出的“应用的组策略对象”部分,注意应用到计算机帐户的组策略对象。
    4. 比较应用到计算机帐户的组策略对象,该帐户在域控制器上具有针对这些组策略对象的 SMB 签名策略设置。
    注意:如果 TCP/IP NetBIOS Helper 服务在许多桌面上被禁用,您可以使用以下 Microsoft Visual Basic 示例脚本来在组织单位 (OU) 中的所有计算机上启动 TCP/IP NetBIOS Helper 服务。

    Microsoft 提供的编程示例只用于说明目的,不附带任何明示或默示的保证。这包括但不限于对适销性或特定用途适用性的默示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。
    Set objDictionary = CreateObject("Scripting.Dictionary") 
    i = 0 
    Set objOU = GetObject("LDAP://OU=Computers, OU=OUName, OU=OUName, DC=OUName, 
    DC=OUName,DC=CompanyName, 
    DC=com") 
    objOU.Filter = Array("Computer") 
    For Each objComputer In objOU 
    objDictionary.Add i, objComputer.CN 
    i = i + 1 
    Next 
    For Each objItem In objDictionary 
    strComputer = objDictionary.Item(objItem) 
    Set objWMIService = 
    GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & 
    "\root\cimv2")
    
    Set colServices = objWMIService.ExecQuery _ 
    ("Select * from Win32_Service where Name = 'LmHosts'") 
    For Each objService In colServices 
    If objService.StartMode = "Disabled" Then 
    objService.Change( , , , , "Automatic") 
    End If 
    Next 
    Next 
    

    第四步:确保在所有计算机上都启用了分布式文件系统 (DFS)

    所有的域控制器都必须运行分布式文件系统服务,因为 Sysvol 共享是一个 DFS 卷。此外,在所有计算机上的注册表中都必须启用 DFS 客户端。 

    要确保分布式文件系统服务正在基于 Windows Server 2003 的域控制器上运行,请按照下列步骤操作:
    1. 单击“开始”,指向“管理工具”,然后单击“服务”。
    2. 在“服务”列表中,单击“分布式文件系统”服务。验证“状态”列下的值是否为“已启动”。验证“启动类型”列下的值是否为“自动”。 如果“状态”值或“启动类型”值不正确,请按照下列步骤操作:
      1. 右键单击“分布式文件系统”,然后单击“属性”。
      2. 在“启动类型”列表中,单击“自动”。
      3. 在“服务状态”区域中,如果未启动服务,单击“启动”。
      4. 单击“确定”。
    要确保分布式文件系统服务正在基于 Windows 2000 Server 的域控制器上运行,请按照下列步骤操作:
    1. 单击“开始”,指向“程序”,指向“管理工具”,然后单击“服务”。
    2. 在“服务”列表中,单击“分布式文件系统”服务。验证“状态”列下的值是否为“已启动”。验证“启动类型”列下的值是否为“自动”。 如果“状态”值或“启动类型”值不正确,请按照下列步骤操作:
      1. 右键单击“分布式文件系统”,然后单击“属性”。
      2. 在“启动类型”列表中,单击“自动”。
      3. 在“服务状态”区域中,如果未启动服务,单击“启动”。
      4. 单击“确定”。
    有关相关主题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    834649 当基于 Windows 2000 的域控制器上未启动 DFS 时,客户机记录事件 ID 1030 和事件 ID 1058
    要确保在所有的客户机上都启用分布式文件系统客户端,请按照下列步骤操作:
    1. 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”。
    2. 展开以下子项:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Mup
    3. 单击“Mup”,然后在右窗格中,搜索名为“DisableDFS”的 DWORD 值项。
    4. 如果存在“DisableDFS”项,并且数值数据为“1”,请双击“DisableDFS”。在“数值数据”框中,键入 0,然后单击“确定”。如果 DisableDFS 数值数据已经是“0”,或者不存在“DisableDFS”项,请不要进行任何更改。
    5. 退出注册表编辑器。
    6. 如果您更改了“DisableDFS”数值数据,请重新启动计算机。
    有关相关主题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    314494 组策略未能按照您所期望的方式应用;应用程序日志中记录“事件 ID 1058”和“事件 ID 1030”错误

    第五步:检查 Sysvol 文件夹的内容和权限

    默认情况下,Sysvol 文件夹位于 %systemroot% 文件夹中。Sysvol 文件夹包含域的组策略对象、Sysvol 和 Netlogon 共享以及文件复制服务 (FRS) 暂存文件夹。

    如果 Sysvol 文件夹或 Sysvol 共享上的权限的限制过于严格,则组策略无法正确应用,并且会导致用户环境 (Userenv) 错误。此外,如果丢失了 Sysvol 共享或组策略对象,则可能发生 Userenv 错误。 
    要确保 Sysvol 共享可用,请在命令提示符下对每个域控制器运行 net share 命令。为此,请按照下列步骤操作:
    1. 依次单击“开始”、“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    2. 键入 net share,然后按 Enter 键。
    3. 在文件夹列表中查找“SYSVOL”和“NETLOGON”。
    如果一个或多个域控制器丢失了 Sysvol 共享或 Netlogon 共享,则必须排查发生该问题的原因。 有关如何对 Windows 2000 Server 中丢失的 Sysvol 和 Netlogon 共享进行疑难解答的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    257338 Windows 2000 域控制器上丢失 SYSVOL 和 NETLOGON 共享疑难解答
    有关如何在 Windows Server 2003 中重新生成 Sysvol 共享的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    315457 如何在域中重新生成 SYSVOL 树及其内容
    在确定 Sysvol 共享可用后,请确保为 Sysvol 文件夹、Sysvol 共享和包含 Sysvol 文件夹的卷的根文件夹配置正确的权限。 有关 Sysvol 共享和 Sysvol 文件夹所需权限的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    290647 在应用程序事件日志中每 5 分钟记录一次事件 ID 1000、1001
    此外,在 Windows 2000 Server 上,必须授予 Everyone 组对包含 Sysvol 文件夹的卷的根文件夹的完全控制权限。在 Windows Server 2003 上,必须对 Everyone 组授予设置为“只有该文件夹”的“读取和执行”特殊权限,并且必须授予 domain\Users 组以下标准权限:
    • 读取和执行
    • 列出文件夹内容
    • 读取
    此外,在 Windows Server 2003 上,domain\Users 组必须具有下列特殊权限:
    • 对“该文件夹,子文件夹和文件”的“读取和执行”权限。
    • 对“该文件夹和子文件夹”的“创建文件夹/附加数据”权限。
    • 对“只有子文件夹”的“创建文件/写入数据”权限。
    验证 Sysvol 权限后,请确保 Sysvol 文件夹包含所需的组策略对象。要查找所需的组策略对象,请使用 Windows 2000 或 Windows Server 2003 Resource Kit 中的 Gpotool.exe 程序。

    要下载 Windows 2000 Server Gpotool.exe 程序,请访问下面的 Microsoft“Gpotool.exe:Group Policy Verification Tool”(Gpotool.exe:组策略验证工具)网站: 要下载 Windows Server 2003 Resource Kit 工具,请访问下面的 Microsoft“Windows Server 2003 Resource Kit Tools”(Windows Server 2003 Resource Kit 工具)网站: 如果运行 Gpotool.exe 程序而不使用任何选项,该程序将扫描域中所有域控制器上的所有组策略对象。如果您使用 /checkacl 开关,则该工具也将扫描 Sysvol 访问控制列表 (ACL)。要获得运行 Gpotool.exe 程序时的详细输出,请使用 /verbose 开关。 

    您也可以手动验证 SYSVOL 文件夹中的单个 GPO。例如,当 Userenv 1058 事件中的描述列出一个 GPO 的名称时,您就可以手动验证 SYSVOL 文件夹中的单个 GPO。您可以执行此操作以确保该 GPO 中包含 USER 文件夹、MACHINE 文件夹和 Gpt.ini 文件。要手动验证 SYSVOL 文件夹中的单个 GPO,请按照下列步骤操作:
    1. 打开一个命令提示符窗口。为此,请依次单击“开始”、“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    2. 键入 at Time /interactive /next:cmd.exe,然后按 Enter 键,其中 Time 比当前时间晚 1 或 2 分钟,以 24 小时时间格式表示。例如,下午 1:03 用 24 小时时间格式表示为 13:03。
    3. 在上一个命令中指定的时间,会打开一个新的命令提示符窗口。键入 net use j:\\domainname.com\sysvol\domainname.com\Policies\{GUID,然后按 Enter 键,其中 GUID 是 Userenv 事件描述中提及的 GPO 的 GUID。例如,如果 Userenv 1058 事件描述为“此文件必须在 <\\Domain_Name.com\sysvol\Domain_Name.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984 F9}\gpt.ini>”,则您在命令中将使用的 GUID 是 31B2F340-016D-11D2-945F-00C04FB984F9。
    4. 键入 dir j:\*.*,然后按 Enter 键。
    5. 验证 USER 文件夹、MACHINE 文件夹和 Gpt.ini 文件是否列在 I 驱动器的文件夹列表中。如果丢失了任一文件夹和文件,则网络上的计算机可能会在应用程序日志中记录 Userenv 错误。
    如果 Sysvol 文件夹中丢失了一个或多个组策略对象,请运行 Windows Server 2003 默认组策略还原工具 (Dcgpofix.exe) 或 Windows 2000 默认组策略还原工具 (Recreatedefpol.exe) 重新创建默认组策略对象。

    Dcgpofix.exe 程序包含在 Windows Server 2003 中。有关 Dcgpofix.exe 程序的其他信息,请在命令提示符下运行 dcgpofix /? 命令。

    有关 Recreatedefpol.exe 程序的信息,请访问下面的 Microsoft Windows 2000 默认组策略还原工具网站: 当您使用防病毒软件扫描 Sysvol 驱动器时,请确保设置了建议的排除项。使用防病毒软件进行扫描可以阻止对所需文件(如 Gpt.ini 文件)的访问。您必须为所有的实时、预定和手动防病毒扫描都配置这些排除项。 有关在基于 Windows 的服务器上运行防病毒程序时建议的排除项的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    822158 Windows 2000 或 Windows Server 2003 域控制器上的病毒扫描建议

    第六步:确保对必要的组授予跳过遍历检查权限

    必须对域控制器上的下列组授予跳过遍历检查权限:
    • Administrators
    • Authenticated Users
    • Everyone
    • Pre-Windows 2000 Compatible Access
    要验证是否已在基于 Windows Server 2003 的域控制器上授予跳过遍历检查权限,请按照下列步骤操作:
    1. 单击“开始”,指向“管理工具”,然后单击“域控制器安全策略”。
    2. 展开“本地策略”,然后单击“用户权限分配”。
    3. 双击“跳过遍历检查”。
    4. 单击以选中“定义这些策略设置”复选框。
    5. 验证是否为此策略设置列出了 Administrators 组、Authenticated Users 组、Everyone 组和 Pre-Windows 2000 Compatible Access 组。 如果丢失上述任何组,请按照下列步骤操作:
      1. 单击“添加用户或组”。
      2. 在“用户和组名”框中,键入丢失的组的名称,然后单击“确定”。
    6. 单击“确定”关闭策略设置。
    7. 打开一个命令提示符窗口。为此,请依次单击“开始”、“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    8. 键入 gpupdate /force,然后按 Enter 键。
    要验证是否已在基于 Windows 2000 Server 的域控制器上授予跳过遍历检查权限,请按照下列步骤操作:
    1. 单击“开始”,指向“程序”,指向“管理工具”,然后单击“域控制器安全策略”。
    2. 依次展开“安全设置”、“本地策略”,然后单击“用户权限分配”。
    3. 双击“跳过遍历检查”。
    4. 单击以选中“定义这些策略设置”复选框。
    5. 验证是否为此策略设置列出了 Administrators 组、Authenticated Users 组、Everyone 组和 Pre-Windows 2000 Compatible Access 组。如果丢失上述任何组,请按照下列步骤操作:
      1. 单击“添加”。
      2. 在“用户和组名”框中,键入丢失的组的名称,然后单击“确定”。
    6. 单击“确定”关闭策略设置。
    7. 打开一个命令提示符窗口。为此,请依次单击“开始”、“运行”,在“打开”框中键入 cmd,然后单击“确定”。
    8. 键入 secedit /refreshpolicy machine_policy /enforce,然后按 Enter 键。

    第七步:确保域控制器未处于日志折叠状态

    要查看域控制器是否处于日志折叠状态,请在“事件查看器”中查看文件复制服务日志,并搜索 NTFRS 事件 ID 13568。事件 ID 13568 类似于以下事件 ID:

    类型:警告 
    来源:NtFrs 
    类别:无 
    事件 ID: 13568 
    日期:DATE
    时间:TIME
    用户:N/A 
    计算机:ServerName
    描述:文件复制服务检测到复制集 "<1>" 在 JRNL_WRAP_ERROR。复制集名称是 :"<1>" 复制根路径是 :"<2>" 复制根卷是 : "<3>"

    如果在域控制器上记录了 NTFRS 事件 ID 13568,请查看下面的 Microsoft 知识库文章,以获得有关如何排查日志折叠错误的信息:
    292438 排查 Sysvol 和 DFS 副本集上的 journal_wrap 错误

    第八步:运行 Dfsutil /PurgeMupCache 命令

    使用 /PurgeMupCache 开关运行 Dfsutil.exe 程序来刷新本地 DFS/MUP 缓存信息。Dfsutil.exe 程序包含在 Windows 2000 Server 支持工具和 Windows Server 2003 支持工具中。 有关相关主题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    842804 无法执行组策略处理,事件 1030 和 1058 被记录到域控制器的应用程序日志中
    注:文章转载自http://support.microsoft.com/kb/887303/zh-cn
    展开全文
  • 通过window事件查看,查看详细原因 Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 有了详细的原因,就能找到对应的问题。 例如我这个是由于修改mysql的日志大小(innodb_log_file_size)而...

    问题描述:

    MySql启动服务的时候报错,发生系统错误 1067

    解决办法:

    通过window事件查看器,查看详细原因

     

    Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

    有了详细的原因,就能找到对应的问题。

     

    例如我这个是由于修改mysql的日志大小(innodb_log_file_size)而造成的错误。 解决办法:删除Mysql之前的日志文件:innodb_log_file_size   \\ProgramData\MySQL\MySQL Server 5.5\data ib_logfile0, ib_logfile1

     

    转载于:https://www.cnblogs.com/byronliu029/p/9233045.html

    展开全文
  • 介绍了 NI PXI-5421 任意波形发生器及其任意波形产生原理, 提出了任意波形发生器的通用程序控制流程, 并编写了相应的 控制程序。 该程序采用基于数据流和基于事件响应相结合的程序设计方法, 实现了波形载入、 ...
  • 事件DoubleClick为只读,因此无法更改。 原因:这是导入的现有项目,要打开的项目继承了其他的项目,而项目使用到的DevExpress默认不支持继承,导致打开页面出现该错误。 解决方法: 先关闭vs2015. 1、找到...

    48ab1955ae7456866d365d7c9ac7a88fb37.jpg

    事件DoubleClick为只读,因此无法更改。

    原因:这是导入的现有项目,要打开的项目继承了其他的项目,而项目使用到的DevExpress默认不支持继承,导致打开页面出现该错误。

    74470a54616c0a6321fe7a647d34d999692.jpg

    解决方法:

    先关闭vs2015.

    1、找到DevExpress的安装目录->components->tools->components

    7fccd7e343db1f93561a5f25cd8f2992258.jpg

    选中DXDesignKeys.exe,右键以管理员身份运行

    befb4172cfd806d0bffd4a15af33f94376d.jpg

    勾上这个允许继承再点击Apply and Close即可,接下来,打开vs2015就能正常访问了。

    转载于:https://my.oschina.net/8824/blog/3072061

    展开全文
  • windows事件查看

    2019-02-11 14:40:00
    如果一个软件发生异常,软件本身没有提示异常信息, 需要从事件查看中查看产生的错误事件 运行输入eventvwr或者win + X 转载于:https://www.cnblogs.com/dream-life/p/10361816.html...
  • 最近升级了新的系统感觉睡眠耗电异常,一路排查到 Windows的事件查看,发现一直有一个异常“创建 TLS 客户端 凭据时发生严重错误。内部错误状态为 10013。” 网上搜了很多的资料,比较多的是设...
  • 解决过程很多情况都可以导致该错误提示,可以先查找 “Windows 日志” :打开【Windows 帮助和支持】,查找【log】,打开【事件查看】,【Windows 日志】下,【应用程序】中,找到 MySQL 相关的错误信息。我的错误...
  • 之前的几个星期,机器上安装了windows 2003 server的操作系统(sp1),安装过程正常,但是...然后日志中还看到了,“所发生错误是已更正的……”,已更正你还瞎起什么劲啊,而且还是弹出窗口。还有就是,在每次开...
  • 当出现这个错误后,进入计算机管理->事件查看->管理事件的摘要,找到MySQL查看最新的错误。 点击错误以后在常规一栏会列出错误信息 我的错误信息是: Can't find messagefile 'C: oftware\database\mysql-...
  • 出现场景 ...打开【Windows 帮助和支持】,查找【log】,打开【事件查看】,【Windows 日志】下,【应用程序】中,找到 MySQL 相关的错误信息。 我的错误信息是: InnoDB: Attempted to open...
  • 本文实例讲述了Node.js EventEmmitter事件监听用法。...EventEmitter 对象如果在实例化时发生错误,会触发 ‘error’ 事件。当添加新的监听时,’newListener’ 事件会触发,当监听被移除时,’removeListener’
  • 2021年2月26日收到某现场项目经理电话反馈现场Oracle RAC数据库发生宕机事件,但数据库已恢复正常,需要我方进行故障分析排查原因。 日志分析: 到了现场后通过现场人员对接登录到此前发生故障的Oracle数据库服务器...
  • 开发中发现后台人员经常使用 try…catch…finally 来响应错误事件,即错误处理(exception ... 当JavaScript程序在运行中发生了诸如数组索引越界、类型不匹配或者语法错误时,JavaScript解释就会引发错误处理。ECMAS
  • 请教朋友,并且上网查资料,都说是经常异常关机才会导致硬盘自检,可我电脑除非是停电,否则不会不按正常流程关机的,可近期也没有发生停电呀。无奈,上个月重装了三次系统,以为是系统问题,可重...
  • Node.js EventEmmitter事件监听

    千次阅读 2016-09-19 17:29:41
    Node.js 所有的异步 I/O 操作在完成时都会发送一个事件事件队列。events 模块只提供了一个对象: events.EventEmitter。...EventEmitter 对象如果在实例化时发生错误,会触发 ‘error’ 事件。当添加新的监听时,’
  • 重启IIS,发现网页打不开 >internet信息服务 打开后发现 默认网站显示Error`` 状态为 未启动 “发生意外错误 0x8ffe 2740 IIS无法启动”右键点击 启动 弹出对话框 "发生意外错误 0x8ffe2740"进入“事件查看”,在...
  • 处理过程错误:指的是在ETL过程的处理中发生错误,这类错误是最严重的。例如,任务执行中触发了异常,系统资源不足,数据库连接失败等。对此类的错误,可以通过邮件提醒的方式来获取到,在处理过程中也增加相应的...
  • 1.打开windows系统电脑,单击开始输入事件打开事件查看。 2.双击打开计算机打开控制面板,打开管理工具即可选择打开事件查看。 3.点击开始——运行然后输入eventvwr再单击确定,也可以打开事件查看。 ...
  • 事件查看-&gt;管理事件的摘要,找到MySQL查看最新的错误。 点击错误以后在常规一栏会列出错误信息 我的错误信息是: Can't find messagefile 'D:\XAMPP\mysql\share\errmsg.sys' 这个错误有可能...
  • 昨天还是好好的。奇怪。 进入 IIS 中查看,一个红色的“Error”映入眼睑,原来 IIS 根本就没有启动...进入“事件查看”,在“系统”中,发现 w3svc 服务错误,查看其详细信息如下: 服务无法绑定实例 1。返回数据...
  • 查看日志事件–进入事件查看,如下图: (2)点击mysql对应的错误,这里是报错7034,发现是my.ini配置文件没有放在bin文件目录下,另外要删去mysql文件下已有的default.ini配置文件。此外,还需要检查my.ini配置...
  • 路径:我的电脑——》右键管理——》系统工具——》事件查看——》应用程序日志 (查看的时候你可以先把日志清空,清空之后,,你懂得~~~~) 注意查看日志的时候要从下往上看,一般情况下都是把第一个错误解决后...
  • 操作系环境:XP系统 MySql服务无法启动 报错提示:系统出错发生系统错误1067进程意外终止 经过在网络上找了很多方法,重新安装了很多次之后,仍然未果,最终通过事件跟踪发现是一个很另类的原因导致的:D盘磁盘...
  • 目的是能够更好地控制在交流时可能发生的不同情况。 结构体 属性 类型 默认 描述 成功 布尔值 错误的 告诉我们负责组件的过程是否成功完成 信息 细绳 module_connector 根据组件的结论,会在此处留下一条消息。 ...
  • 查看原因:问题追踪:点击计算机-管理-系统工具-事件查看-自定义视图-管理事件,可以看到错误和警告,点击错误,提示:发生的一个错误:unknown option '-d'解决。 用压缩包进行安装,手动配置时,发生错误 ...
  • Windows10 mysql解决MySQL服务无法启动 系统出错 发生系统错误 1067 ...问题追踪:点击计算机-管理-系统工具-事件查看-自定义视图-管理事件,可以看到错误和警告,点击错误,可以看到Do you already h...
  • Servlet监听对象可以在事件发生前、后做一些必要的处理,这就是监听的意思地点了。那么罕见的监听有哪些?在什么时候,怎么运用监听呢? 罕见的监听接口: 1.ServletContextAttributeListener:监听...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 623
精华内容 249
关键字:

发生器事件发生错误