问题描述

 

打开EP站点时出现如下Error:

Message: An unhandled error has occurred. To view details about this error, enable debugging in the web.config file or view the Windows event logs.

Source: mscorlib

Exception details:

Access to the registry key 'Global' is denied.

at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
at Microsoft.Win32.RegistryKey.InternalGetValue(String name, Object defaultValue, Boolean doNotExpand, Boolean checkSecurity)
at Microsoft.Win32.RegistryKey.GetValue(String name)
at System.Diagnostics.PerformanceMonitor.GetData(String item)
at System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item)
at System.Diagnostics.PerformanceCounterLib.get_CategoryTable()
at System.Diagnostics.PerformanceCounterLib.CategoryExists(String machine, String category)
at System.Diagnostics.PerformanceCounterCategory.Exists(String categoryName, String machineName)
at Microsoft.Dynamics.AX.ManagedInterop.RuntimeContext.InitializePerformanceCounters(String categoryName)
at Microsoft.Dynamics.Framework.BusinessConnector.PerformanceCounters..cctor()

本文地址:http://www.cnblogs.com/Interkey/p/Access-to-the-registry-key-Global-is-denied.html

  问题分析

从Exception Details 中可以得知 Exception 是在PerformanceCounters读取这个注册表key时没有相应权限而抛出的。

  解决思路

授予 PerformanceCounters 对应的服务相应的权限。

  解决方案

1、 因为我们这边没有权限来处理,而对方那边的操作是将安装部署的自定义用户 Service Account 加入到 Administrators用户组。

结果是:上述问题临时解决,但过段时间后依然出现上述问题。我方联系人因为以前有遇到过用户加入到Administrators用户组过段时间后用户又不在这个组的情况据此猜测对方也是遇到了这种情况,但具体情况未知。

2、 经过搜索找到了同样问题的解决方案[Message: Access to the registry key 'Global' is denied],不过是英文的,在实际操作中一时还不好理解上述的描述。故此翻译成中文并加以解释:

a)      打开Computer Management - System Tools - Local Users and Groups - Groups - Performance Log Users.

b)      添加 Identity 到Performance Log Users 组。难点在于得到正确的Identity。检查应用程序池的 Identity。如果使用的是ApplicationPoolIdentity,请继续下面的步骤。

c)      无需添加一个本地用户。因为ApplicationPoolIdentity 并不是一个实际存在的用户,所以要添加到Performance Log Users 组需要使用如下形式:IIS AppPool\AppPoolName (其中AppPoolName 是应用程序池名,例如:IIS AppPool\AX2012)。

d)      为了使更改生效,需要重启IIS或者停止再启动相应用应用程序池。回收相应应用程序池不会使更改生效。

步骤b使用的是ApplicationPoolIdentity,如果使用本地用户,则直接将此用户添加到Performance Log Users 组,但因为没有相应的权限,所以无法进行测试。

至于将用户添加到Administrators用户组过段时间后失效,暂时无法跟进。

本文地址:http://www.cnblogs.com/Interkey/p/Access-to-the-registry-key-Global-is-denied.html

Here is a link for more information about Application Pool Identities.

  总结

问题的本质是赋予权限以让PerformanceCounters有读取相应注册表的权限。但方案1是直接将权限添加到管理员组,方案2是将相应的用户添加到Performance Log Users 组,因为此用户是虚拟用户,所以要按一定的格式添加。本质上还是授权。


  其他

来这里以后感觉快要变成了技术支持了,工作内容与预期偏差甚远,所用技术为AX 2012 和 SharePoint 2010,而且主要工作内容为解决技术问题而非开发,.NET编程几乎没有,由于对业务还不熟悉,所以X++的编写也没有。感觉有些偏离方向了(拿手的可是C#,现阶段以开发为主),当然好处也有:规范化和时间自由。不过既然来了,肯定要把它做好!

本文地址:http://www.cnblogs.com/Interkey/p/Access-to-the-registry-key-Global-is-denied.html

解决EP拒绝访问注册表Global键的的问题的更多相关文章

  1. #技塑人生# windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常

    windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常 阿里云技术支持中心:章阿贵 一.远程无法访问(windows server 2008) 症状:无法远程但是系统内网络正常,防火墙 ...

  2. NSIS学习记录の----查找注册表某个键是否存在

    最近要做一个注册表的判断.以往都是注册表某个键的键值存在查找,但是如何判断一个空键值的键是否存在呢(很多大厂装逼不写键值,有默认就好)? 下面给出解决办法(要沟通请邮件联系:7-7-2-7-0-6-5 ...

  3. Qt访问注册表并调用子进程

    在实际应用中需要在一个进程启动另外一个进程,可以将子进程的路径写入注册表中,然后主进程读取注册表中子进程路径,启动子进程,并以命令行参数的形式传入参数,启动子进程.具体实现方式如下 (1)      ...

  4. 关于64位操作系统使用C#访问注册表失败的问题

    通过C#的注册表类 Registry.GetValue 进行访问时,其返回值一直为空.然后认真检查检查再检查了注册表路径,发现路径没有一点问题,不说废话,上代码: if (Registry.GetVa ...

  5. Window权限维持(一):注册表运行键

    在红队行动中在网络中获得最初的立足点是一项耗时的任务.因此,持久性是红队成功运作的关键,这将使团队能够专注于目标,而不会失去与指挥和控制服务器的通信.在Windows登录期间创建将执行任意负载的注册表 ...

  6. IIS 发表web 之后,访问注册表项失败得问题

    错误: 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\xx\xxxx\xxxxx”的访问被拒绝. 解决办法: 打开IIS,找到应用程序池,然后找到自己web使用得程序池,右键高级 ...

  7. Win10 远程桌面连接出现“要求的函数不受支持”的解决办法之修改注册表

    问题起因 笔者自己在阿里云上搞服务器,有一台 Windows Server 必须通过远程桌面连接来管理,由于没能完全关掉 Win10 自带的烦人的系统更新,导致昨天安装完更新后出现了连接远程桌面时“要 ...

  8. FAQ:注册表_键值类型

    在注册表中,“键值项数据”可分为下面三种类型. 字符串值(REG_SZ) 该值一般用来作为文件描述和硬件标志,可以是字母.数字,也可以是汉字,但它是长度固定的文本字符串,最大长度不能超过255个字符. ...

  9. WINDOWS XP 系统显示乱码的解决方法(修改注册表,使用正常字体)

            一位同事的计算机进入WINDOWS XP系统后,电脑里的所有汉字全部显示乱码,很多办公文档无法打开而影响工作.因为第一次遇到这种问题,当然首先是百度解决了,搜索了相关的信息后找到了答案 ...

随机推荐

  1. 《Entity Framework 6 Recipes》中文翻译系列 (6) -----第二章 实体数据建模基础之使用Code First建模自引用关系

    2-5 使用Code First建模自引用关系 问题 你的数据库中一张自引用的表,你想使用Code First 将其建模成一个包含自关联的实体. 解决方案 我们假设你有如图2-14所示的数据库关系图的 ...

  2. 如何用TDR来测试PCB板的线路阻抗

    隔壁小王已经讲了TDR的原理以及如何确定TDR的分辨率.那么,我们要正确测量PCB板上的线路阻抗,还有哪些需要注意的地方呢? 1. 阻抗测试的行业标准 之前贴过好多张阻抗测试的图片,重新再贴一张给大家 ...

  3. Redis初级介绍

    1 什么是Redis Redis(REmote DIctionary Server,远程数据字典服务器)是开源的内存数据库,常用作缓存或者消息队列. Redis的特点: Redis存在于内存,使用硬盘 ...

  4. MongoDB 之C#实践

    官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads.下载后,还提供了一个酷似msdn的帮助文档. samus驱动:https:/ ...

  5. tomcat 的优化配置

    一.关于并发连接量的配置 在tomcat的server.xml配置文件中:将<Connector port="8080" protocol="HTTP/1.1&qu ...

  6. 2014 年最热门的国人开发开源软件 TOP 100 - 开源中国社区

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...

  7. OpenCASCADE General Transformation

    OpenCASCADE General Transformation eryar@163.com Abstract. OpenCASCADE provides a general transforma ...

  8. 使用maven来管理java项目

    初学maven,简单总结一下学习心得,若有不对的地方,欢迎各位大神给我指正~ 总结分为6个部分 maven概述 maven安装 maven项目结构和创建方法 maven配置文件settings.xml ...

  9. OracleDBA之用户管理

    再分享一下Oracle中对用户的管理,以下这些东西是我的麦库上存的当时学Oracle的学习笔记今天拿出来和大家分享一下,转载请注明出处,下面用的Oracle的版本是10g,用的时WinServer20 ...

  10. 谈谈JIT编译器和本机影像生成器(NGen.exe)

    前言 在看<CLR>的时候,作者在开篇的时候提到了NGen.exe,前面一节执行程序集的代码中提到:程序或方法执行前会执行MSCorEE.dll中的JIT函数把要执行方法的IL转换成本地的 ...