为什么Microsoft生态系统元数据交换需要Windows 10上的管理员提升?

时间:2016-08-11 04:55:28

标签: windows-error-reporting

使用“Microsoft Ecosystem Metadata Exchange(EMX)”工具(用于注册Windows错误报告应用程序的工具),尝试扫描任何文件会将以下消息记录到“应用程序日志”系统日志中:

Message            : [Microsoft.Telemetry.MetadataExchange.SystemFileMetadataProvider: 56593614]: Unable to scan the given file due to the following exception:


                     System.Runtime.InteropServices.COMException (0x80070522): A required privilege is not held by the client. (Exception from HRESULT:
                     0x80070522)
                            at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
                            at Microsoft.Telemetry.MetadataExchange.CrossProcessFileScanner.ScanFile(String path)
                            at Microsoft.Telemetry.MetadataExchange.SystemFileMetadataProvider.GetMetadata(String filePath)


                     __________________________________________________________________________________________________________________________________________
                     __________________
                     Logged   at Microsoft.Telemetry.MetadataExchange.FileMetadataScanner.Scan()
                            at Microsoft.Telemetry.MetadataExchange.Presentation.ScanProgressDialogModel.worker_DoWork(Object sender, DoWorkEventArgs e)
                            at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
                            at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
                            at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
                            at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
                            at System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(Object o)
                            at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
                            at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
                            at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
                            at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
                            at System.Threading.ThreadPoolWorkQueue.Dispatch()
                            at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

我使用PowerShell的powershell绑定得到了相同的结果。

如果我从 Elevated 命令提示符运行powershell绑定的工具本身,它确实有效。

我认为这是最近的问题(Windows 10?),因为the documentation没有提到这个问题,并且工具本身在启动时不会出现任何错误。

要求提升的限制是否在Windows 10中发生了变化,是否可以以某种方式解决? (也就是说,如果没有提升,我可以以某种方式使其工作吗?)

1 个答案:

答案 0 :(得分:4)

我确实从Microsoft支持部门得到了答案:

  

我们知道这一点。这不是预期的,而是取决于结果   我的调查,高架运行可能成为官方方法。

我认为这意味着,此时此问题没有真正的解决方法,您只需以管理员身份运行EMX。