解决EP拒绝访问注册表Global键的的问题
问题描述
打开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键的的问题的更多相关文章
- #技塑人生# windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常
windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常 阿里云技术支持中心:章阿贵 一.远程无法访问(windows server 2008) 症状:无法远程但是系统内网络正常,防火墙 ...
- NSIS学习记录の----查找注册表某个键是否存在
最近要做一个注册表的判断.以往都是注册表某个键的键值存在查找,但是如何判断一个空键值的键是否存在呢(很多大厂装逼不写键值,有默认就好)? 下面给出解决办法(要沟通请邮件联系:7-7-2-7-0-6-5 ...
- Qt访问注册表并调用子进程
在实际应用中需要在一个进程启动另外一个进程,可以将子进程的路径写入注册表中,然后主进程读取注册表中子进程路径,启动子进程,并以命令行参数的形式传入参数,启动子进程.具体实现方式如下 (1) ...
- 关于64位操作系统使用C#访问注册表失败的问题
通过C#的注册表类 Registry.GetValue 进行访问时,其返回值一直为空.然后认真检查检查再检查了注册表路径,发现路径没有一点问题,不说废话,上代码: if (Registry.GetVa ...
- Window权限维持(一):注册表运行键
在红队行动中在网络中获得最初的立足点是一项耗时的任务.因此,持久性是红队成功运作的关键,这将使团队能够专注于目标,而不会失去与指挥和控制服务器的通信.在Windows登录期间创建将执行任意负载的注册表 ...
- IIS 发表web 之后,访问注册表项失败得问题
错误: 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\xx\xxxx\xxxxx”的访问被拒绝. 解决办法: 打开IIS,找到应用程序池,然后找到自己web使用得程序池,右键高级 ...
- Win10 远程桌面连接出现“要求的函数不受支持”的解决办法之修改注册表
问题起因 笔者自己在阿里云上搞服务器,有一台 Windows Server 必须通过远程桌面连接来管理,由于没能完全关掉 Win10 自带的烦人的系统更新,导致昨天安装完更新后出现了连接远程桌面时“要 ...
- FAQ:注册表_键值类型
在注册表中,“键值项数据”可分为下面三种类型. 字符串值(REG_SZ) 该值一般用来作为文件描述和硬件标志,可以是字母.数字,也可以是汉字,但它是长度固定的文本字符串,最大长度不能超过255个字符. ...
- WINDOWS XP 系统显示乱码的解决方法(修改注册表,使用正常字体)
一位同事的计算机进入WINDOWS XP系统后,电脑里的所有汉字全部显示乱码,很多办公文档无法打开而影响工作.因为第一次遇到这种问题,当然首先是百度解决了,搜索了相关的信息后找到了答案 ...
随机推荐
- .Net开发笔记(二十一) 反射在.net中的应用
反射概念在网上到处都有,但是讲到的具体的应用很少,一个重要的原因是现实中真的很少用得到它.引用msdn上对“反射”的解释: "通过 System.Reflection 命名空间中的类以及 S ...
- IE浏览器打开chorme浏览器,如何打开其他浏览器
看到这个标题是否感觉奇怪,为什么要用IE浏览器打开chorme或者火狐浏览器等,这个功能从开发者来说不是一个好的需求,但确实是真实存在的,有用公司的背景历史比较复杂,而且公司有过长期的开发历史,这导致 ...
- Objective-C 桥接模式 -- 简单实用和说明
桥接模式---把两个相关联的类抽象出来, 以达到解耦的目的 比如XBox遥控器跟XBox主机, 我们抽象出主机和遥控器两个抽象类, 让这两个抽象类耦合 然后生成这两个抽象类的实例XBox & ...
- [大数据之Spark]——快速入门
本篇文档是介绍如何快速使用spark,首先将会介绍下spark在shell中的交互api,然后展示下如何使用java,scala,python等语言编写应用.可以查看编程指南了解更多的内容. 为了良好 ...
- windows7查看最近使用记录
1.看计算机在哪天运行过~运行了多久! C:\Windows\SchedLgU.txt 2.看你最近运行过什么程序: C:\Windows\Prefetch 3.看你最近打开过什么文件(非程序)和文件 ...
- JavaEE:JavaEE技术组成
Java平台版本: JavaSE:Java Platform Standard Edition,标准版,用来开发桌面应用系统: JavaEE:Java Plateform Enterprise Edi ...
- android 画虚线,虚线圆
Paint paint = new Paint(); paint.setAntiAlias(true); paint.setStyle(Paint.Style.STROKE); paint.set ...
- DAC Usage4:从 Backup Package(.bacpac)还原DB
使用DAC,能够将database的schema 和 data 从一个server 或 cloud 上复制到另外一个server上,存储schema 和 data的文件是 .bacpac 文件. 方法 ...
- OpenCASCADE Make Primitives-Sphere
OpenCASCADE Make Primitives-Sphere eryar@163.com Abstract. The sphere is the simplest topology shape ...
- 一起学微软Power BI系列-官方文档-入门指南(3)Power BI建模
我们前2篇文章:一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍 和一起学微软Power BI系列-官方文档-入门指南(2)获取源数据 中,我们介绍了官方入门文档与获取 ...