问题标签 [system.management]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
11349 浏览

.net - 为什么我的 .NET Windows 服务有时无法自动启动?

我修改了一个一直在预先启动的工作 Windows 服务。添加 System.Management 引用后,它现在有时不会自动启动。我收到以下错误:

无法启动服务。System.Runtime.InteropServices.COMException (0x80010002):调用被消息过滤器取消。(来自 HRESULT 的异常:0x80010002 (RPC_E_CALL_CANCELED))

我在 SO 上找到了另一个帖子,有人遇到同样的问题。

为什么我的 .Net Windows 服务在重新启动后不会自动启动?

但是,建议的解决方案是在它所依赖的服务启动后启动该服务。但是,当我转到我的服务的 Dependencies 选项卡时,我看到:

替代文字

我应该只使用使线程进入睡眠状态的解决方法,还是有更合适的方法让该服务正确启动?发生这种情况是因为在我的服务启动之前 .NET 尚未启动吗?

谢谢,

托梅克

编辑:我添加了一个 try-catch 语句来捕获异常。这是我添加到我的服务的 OnStart() 方法中的代码(这是引发异常的地方)

该服务现在确实启动了,但没有我添加的功能。我是 .NET 的新手,但我从网上找到的示例中获取了观察者代码,所以我很确定它是正确的。事件日志显示相同的异常:

无法创建睡眠/恢复观察程序呼叫已被消息过滤器取消。(来自 HRESULT 的异常:0x80010002 (RPC_E_CALL_CANCELED))

0 投票
1 回答
2218 浏览

.net - System.Management.ConnectionOptions 总是需要文本密码?

我在 .NET 中使用 WMI 连接到 Web 应用程序中的远程计算机。当我初始化连接时,Management ConnectionOptions 总是需要用户名和密码。我想知道是否有办法使用当前 Windows 用户的上下文,例如通过 page.user.identity。如果我将 connectionoptions 留空,那么它似乎不会默认为任何内容 - 保持为空。原因是因为我不希望用户必须输入登录名/密码——这就是 Windows 集成安全性的重点,对吧?

任何信息表示赞赏!谢谢

0 投票
2 回答
3201 浏览

c# - 在 x64 上使用 WMI 创建 SQL Server 别名

我有一个小应用程序,它会自动为某些服务器创建必要的 SQL Server Alias 条目。大部分代码如下所示:

这在 32 位操作系统上正确创建了我想要的条目,但是在 x64 操作系统上,我还需要将别名添加到 64 位 SQL Server 客户端配置中。

任何想法如何做到这一点?

谢谢。

0 投票
1 回答
4186 浏览

c# - ManagementObjectSearcher 内存不足异常

在 C# .Net MVC2 应用程序中,我们有一个简单的函数来获取处理器 ID,作为识别 Web 服务器的方案的一部分。相关部分是:

它在开发人员和许多运行 cassini 和 IIS 的 Web 服务器上运行良好。然而,在 Server 2008 机器上的最新安装中,它在第一次调用以获取处理器 ID 时抛出内存不足异常。关于实现上述目标的可能原因或更好方法的任何建议。

非常感谢

编辑以包含堆栈跟踪:

0 投票
1 回答
136 浏览

c# - 使用 WMI C# 2005 记录 Windows 2000 和 XP 操作系统的启动进程和事件

有没有一种方法可以让 WMI 捕获事件,例如选择或访问控制面板,以及进程,例如运行“命令”。

我是 ManagementEventWatcher 主题的初学者,我想知道我是否可以抓住事件和流程开始的那一刻。我想记录它或将活动放在一个简单的列表框中,这样我就可以监视 2000 和 XP Windows 操作系统的事件和进程的开始。

0 投票
2 回答
3287 浏览

asp.net - 找不到“ManagementScope”

我收到此错误:

CS0246: The type or namespace name 'ManagementScope' could not be found...

在这条线上:

该项目构建良好,但是当我尝试加载任何页面时,在运行时出现上述编译器错误。是的,我有适当的using System.Management说法。是的,我已将其System.Management作为参考。这是我的 using 语句块:

我已经阅读了这个问题,并且我的项目针对的是 .Net 3.5 Framework,而不是 4。如果有帮助,有问题的代码位于项目的 App_Code 目录中包含的类文件中。文件高级属性下的“构建操作”设置为“编译”。我相信这可能与我System.Management最近在aspx文件的代码隐藏中使用命名空间的问题有关,它编译并运行得很好。

0 投票
3 回答
31960 浏览

c# - System.Management.ManagementException

我正在运行以下代码:

在某些机器上没问题,在某些机器上我收到以下错误:

System.Management.ManagementException:未找到

调用堆栈:

知道为什么吗?

0 投票
0 回答
782 浏览

c# - 使用 Volume Guid 搜索 Win32_Directory

我正在尝试使用卷 GUID 而不是卷名称来检查远程计算机上是否存在目录。WMI 有什么方法可以做到这一点吗?我尝试了几种不同的方法,但我的 WQL 语法似乎从来都不是正确的,很可能是因为字符转义不佳。以下是我对这个问题的尝试之一:

当我执行此代码时,我收到一个 Invalid Query 异常。我在此查询中尝试了无数次 Powershell 尝试,并且也收到了相同的 Invalid Query 异常。过去有没有人尝试过,甚至有可能吗?

谢谢,克里斯

0 投票
2 回答
4790 浏览

c# - 使用 system.management 关闭时访问被拒绝

我正在尝试用 C# -MVC# 2008 Express 创建一个小程序,它可以让我远程打开和关闭我负责的 15 台计算机。打开它们很容易,但关闭它们似乎有点问题。

首先,我没有域或 SharePoint,只是 Windows XP 上的一个简单工作组。现在,我设法让 shutdown.exe 工作,但我认为必须有一个 C# 解决方案,所以经过一番搜索后,我发现一些使用 system.management 命名空间的代码效果很好。

这两种解决方案的唯一问题是我需要登录一个相同的管理员帐户,好吧,让我们说不是每个与我一起工作的人都是最精通技术的人,所以让他们使用管理员帐户让我感到紧张。

我不能让他们访问该功能,但我找到了以下代码:

但是当我尝试使用它时,我不断收到拒绝访问错误。

“访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))”} System.Exception {System.UnauthorizedAccessException}

我尝试取消注释密码和用户名(使用我知道正确的管理员帐户的密码和用户名)也取消注释权限。我用了:

但似乎没有任何效果。我不知道我是否需要为此设置一个特殊设置,但就像我说的,如果我登录到另一台机器上使用的管理员帐户,我可以连接和关闭。我目前正在使用备用管理员帐户进行测试。

我读过了:

http://msdn.microsoft.com/en-us/library/aa393613(v=VS.85).aspx

http://msdn.microsoft.com/en-us/library/aa393266(v=VS.85).aspx

http://msdn.microsoft.com/en-us/library/aa389286(v=VS.85).aspx

http://msdn.microsoft.com/en-us/library/aa389290(VS.85).aspx(老实说不太明白这个)

也许它只允许在域中,但我还没有找到任何确认。我想避免添加另一个帐户,所以有什么建议吗?

0 投票
1 回答
4853 浏览

c# - 如何使用 C#、WMI 和/或 System.Management 从 IIS 6.0 获取站点列表和 SSL 证书?

我正在尝试将 IIS 6.0 站点上的所有 SSL 证书从特定的远程服务器导出到集中式备份服务器,以便我们可以迁移和/或备份我们的 SSL 证书,但是我不知道如何使用 IIS 6.0(我们所有的暂存和生产中的服务器仍运行 IIS 6.0)。有没有办法使用 C# 和 System.Management 来定位 IIS 6.0 网站。我已经尝试了我能想到的一切。

伪逻辑:获取服务器 X 上所有 IIS 网站的列表 如果该站点有与之关联的 SSL 证书绑定,则导出带有 IIS 网站名称的 SSL 证书。

这是更接近 IIS 7.0 所需的代码:

这是我无法完全获取/不知道如何从 IIS 6.0 获取所需信息的代码,我无法正确获取查询: