- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题是否可以在非“以管理员身份运行”的进程中导出事件日志?
我正在遵循 https://msdn.microsoft.com/en-us/library/bb671203(v=vs.90).aspx 中的示例代码
using (var els = new EventLogSession())
{
els.ExportLogAndMessages("Security", PathType.LogName, "*", @"c:\temp\security.evtx");
}
此代码在我使用“以管理员身份运行”运行进程时成功运行,但在未“以管理员身份运行但出现异常”时失败
System.UnauthorizedAccessException: "Attempted to perform an unauthorized operation."
使用类似的代码访问我的应用程序的事件日志
using (var els = new EventLogSession())
{
els.ExportLogAndMessages("MyAppLog", PathType.LogName, "*", @"c:\temp\myapplog.evtx");
}
我得到类似的结果,除了异常不同:
System.Diagnostics.Eventing.Reader.EventLogException: "The directory name is invalid"
我是不是做错了什么,或者是否有不同的方法可以让我在不需要管理员权限的情况下将事件日志导出到 .evtx 文件?
注意事项:
EvtArchiveExportedLog
中调用(并失败)。最佳答案
Question: Is it possible to export an event log in a process not "run as administrator"?
可以,但前提是您有权访问要导出的事件日志。
但是,您的问题似乎更像是
Why can't I export my application's event log using
EventLogSession
? AnEventLogException
is thrown with the message "The directory name is invalid".
查看 EventLogSession
的源代码你可以看到对 ExportLogAndMessages
的调用将调用 native 函数 EvtExportLog
.如果此函数失败,则通过调用 GetLastError
检索错误代码。这个 native Windows 错误代码是 mapped to one of several exceptions .
如果发生以下任何错误,将抛出您遇到的异常:
如果您指定了错误的事件日志名称,那么 ERROR_EVT_CHANNEL_NOT_FOUND 就是您遇到的错误。我猜这是你的问题。
但是,您可以自己调用 EvtExportLog
并检查 native 错误代码以更好地理解调用失败的原因:
[DllImport("kernel32.dll")]
static extern uint GetLastError();
[DllImport("wevtapi.dll", CharSet = CharSet.Unicode, SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool EvtExportLog(IntPtr session, string channelPath, string query, string targetFilePath, int flags);
var success = EvtExportLog(IntPtr.Zero, "MyAppLog", "*", @"c:\temp\myapplog.evtx", 1);
if (!success)
{
var error = GetLastError();
Console.WriteLine(error);
}
native 错误代码应该清楚地指示潜在问题是什么。
关于c# - 不带 "run as administrator"的导出事件日志 (.evtx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41134054/
我正在寻找允许提升选定操作权限的正确方法。 许多产品都提供类似的东西。 例如,如果您打开了 UAC,并且在浏览受限文件夹时使用 Total Commander(以基本权限运行),您将获得: 如果您按
我在 Windows Azure 云上有一个应用程序,并且正在使用 Windows Azure 共置缓存。 有时,当我发布网站/web服务时,调用DataCacheFactory.GetCache方法
程序员应该对系统管理员了解多少?我的意思是,显然越多越好。但是为了论证起见,程序员应该知道的平均值是多少? 我见过我的 friend (一个程序员)做数据库架构设计、数据库备份、数据库调优、数据迁移等
我想在 Zabbix 代理上运行命令: 一些简单的 unix 命令,用于获取我们的报告数据。 当代理端需要进行某些处理时。 似乎正在讨论多种方法。那么如何在 Zabbix Agent 上执行此类命令呢
谁能告诉我应用程序注册(以及企业应用程序)下的“角色和管理员”有什么用吗? 似乎它始终具有“云应用程序管理员”,但此角色未分配给服务主体。我没有找到任何有关它的文档,也许我在这里遗漏了一些东西。 谢谢
这是这个问题的镜像: https://serverfault.com/questions/4176/what-sysadmin-things-should-every-programmer-know
我们在其中一台服务器上设置了一个 MySQL 数据库。我们一直在使用MySQL Administrator 1.2.12 程序来管理服务器上的数据库。此服务器是由不再在组织中的人员设置和配置的。 我正
问: 您好,脚本专家!如何从本地 Administrators 组中删除组? -- SB 答: 您好,SB。有一位脚本专家还隐约记得早年一部名为 Brande
使用MySQL Administrator 登录,报错: Either the server service or the configuration file could not be found
MySQL Administrator,在余下时间里我假定你已经安装了MySQLAdministrator,并且将使用相关图例。 500)this.style.width=500;"b
我正在运行一个分布式 MinIO 集群,它有 4 个节点和多个用户帐户,用于不同的目的/存储桶。我需要为用户编写一个方便的脚本或简单的网络应用程序,他们可以在其中更改密码。 如何更改现有用户的密码?
如何轻松复制生产数据库(mydb)以创建开发数据库(mydb-dev)? rethinkdb restore命令似乎没有指定输出数据库名称的选项。它仅具有选择我要从转储还原的数据库的选项。我正在使用r
我有一个帐户,例如(MyDomain\User1),它只能访问安装了 Windows Server 2008 R2 的 VM,没有其他权限。 我根本无法访问 Active Directory (AD)
我正在使用 Django 1.8.4(最新)。 我被官方 Django 教程步骤困扰:https://docs.djangoproject.com/en/1.8/intro/tutorial02/#c
在 Azure 门户中,当我查看服务主体的“角色和管理员”选项卡时,我看到多个角色,包括几个自定义角色: 我可以使用 PowerShell 获取角色定义: PS C:\> Get-MgRoleMana
Microsoft.Web.Administration 程序集位于我计算机上的 C:\Windows\System32\inetsrv 中。我相信它是作为 IIS 的一部分安装的。该大会也在 GAC
在 cf10 任务调度程序中,如果我想链接程序,以便程序 B 在程序 A 结束后启动,我是单击程序 B 的“链接任务”还是在“完成时”输入中提供程序 B 的 url对于程序A? 最佳答案 你两者都做。
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我正在使用 VS2012 WPF Application & Install-shield 2013 LE 生成安装程序。 安装后,我注意到“以管理员身份运行”选项没有显示在 桌面图标 资源管理器的上
我们的应用程序需要通过 COM 接口(interface)与另一个程序通信。如果其他程序以“以管理员身份运行”启动,则该界面将不起作用。想要检测此其他进程是否处于此状态并警告用户。有任何想法吗? 寻找
我是一名优秀的程序员,十分优秀!