问题标签 [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 投票
1 回答
180 浏览

c# - 通过 nuget 的 PowerShell 问题

我正在开发一个使用 System.Management.Automation 库的程序,这样我就可以创建一个 PowerShell 实例。就像是:

为了避免强制用户安装 PowerShell v3,我使用 System.Management.Automation Nuget 包版本 6.3.9600.17400。在我的机器上测试时,我收到以下错误:

尝试加载系统 Windows PowerShell 管理单元时出错。请联系 Microsoft 客户支持服务。---> System.Management.Automation.PSargumentException:无法访问 Windows PowerShell PowerShellEngine 注册表信息。

我迷路了。现在,我正在尝试在我的机器上安装 PowerShell v3 以查看它是否有效。我真的认为有这个包会起作用。有什么我可以做的吗?

提前致谢

0 投票
1 回答
896 浏览

c# - 为什么“禁用”或“重新启动”方法不起作用(在 C# 中使用 WMI)

我刚刚写了3个不同的代码。其中一个工作正常。但是另外两个,不要工作并抛出一个ManagementException消息:

此方法未在任何类中实现

这是可以正常工作的代码:

这是不工作并引发异常的代码(请参阅基本相同的代码) 改变的一件事是使用的 WMI 类。异常发生在 InvokeMethod 上。

我还尝试使用“重置”方法而不是“禁用”方法。这没用。但这一次,异常发生在GetMethodParameters. 它说这个方法没有在任何类中实现。

我需要一个启用和禁用 PNP 设备的代码,此外,我需要使用 WMI 类来保持与其余代码相同的标准,所以我需要使用 namespace System.Management

0 投票
0 回答
82 浏览

c# - .Net C# System.Management.ManagementObject SECURITY_DESCRIPTOR 值在 RegistryValueChangeEvent 事件中为空

我正在开发用于查看特定键的注册表监视器,我遇到了 System.Management.ManagementObject SECURITY_DESCRIPTOR值在RegistryValueChangeEvent事件中为空的问题。请帮助

0 投票
0 回答
38 浏览

c# - 从 ObjectReadyEventHandler 返回值

我正在编写一个程序,该程序返回当前登录服务器的用户列表。

这是执行此操作的代码:

mo_ObjectReady 可以获取当前登录服务器的一个用户名。如何将值返回给 GetUsers 函数,以便我可以将它们完全放在一个列表中?

提前致谢。

0 投票
2 回答
179 浏览

c# - 在 C# 代码中执行 Service Fabric cmdlet

我遵循了http://jeffmurr.com/blog/?p=142 从 C# 调用 powershell 脚本的方法。但我收到了类似的错误

怎么做才能成功。

下面发布的是我尝试过的代码。我将命令文本框的值传递为 Connect-ServiceFabricCluster -ConnectionEndpoint "localhost:19000"

我的最终目标是创建一个可以将应用程序部署到集群的站点。否则我必须登录到安装了 SF 的系统并手动执行 power shell 命令。

0 投票
1 回答
1479 浏览

c# - C# system.management 未加载

我正在尝试在 VS 2017 的 C# Windows 窗体应用程序中使用 system.management,但它不起作用。这是一个代码示例:

在:“使用 System.Management;” 它告诉我:这不需要/使用。

在:“ManagementScope scope = ......”它告诉我:未找到(可能缺少 using-Directive),并带有红色下划线。

两者显然都是错误的。我正在加载它,我正在使用它。为什么两条线不能“看到”对方?

0 投票
2 回答
1239 浏览

c# - 从 System.Management.Automation 调用脚本时未设置 $PSScriptRoot

我正在从 .NET 应用程序运行 PowerShell 脚本,但由于$PSScriptRoot未设置而失败。我该如何设置?

代码:

我还尝试使用以下方法设置它:

但它在脚本中仍然为空。

这也不起作用:

我尝试使用不同的名称来查看它是否以某种方式保留或被覆盖,但它也是空的。

以下失败并出现 PSScriptRoot 无法替换的错误,因为它已被优化:

0 投票
1 回答
560 浏览

c# - 如何从 WMI 获取方法

tl; dr为了获得这些方法,我应该用什么SELECT代替?*

更多信息:

这是一个例子:

如果我只要求一个属性是不够的 - 我在尝试时遇到异常obj.InvokeMethod(...);

如果我要求*就足够了,但如果可能的话,我宁愿避免这样做。

我在 WMI 类的文档中没有看到任何用于获取方法(- Disable、、Enable...)的属性。如果它不在列表中 - 怎么会*起作用?难道不应该要求所有名单上的人吗?

编辑

有人建议使用ManagementClass 而不是ManagementObjectSearcher. 这会加载所有属性*吗?(如果不是,这是一个很好的答案。虽然在我的实际情况下,除了调用方法的能力之外,我还需要一个属性。我的理论问题仍然存在——*不仅仅是全部。)

0 投票
3 回答
2828 浏览

c# - 如何从 C# 中的 Powershell 管道读取错误?

我正在使用System.Management.Automation.Runspaces.Pipleline创建一个 powershell 管道实例并在 c# 控制台应用程序中执行我的 powershell 脚本,问题是如果脚本最终出现错误,那么我不知道如何在控制台屏幕上打印该错误。

这是我的代码,

我可以看到该属性Pipeline.HadErrors,但如果检测到错误,它只会将我拉到循环中,它会做任何事情来获取错误消息。我的问题是如何在控制台屏幕上获取实际错误?

0 投票
1 回答
398 浏览

c# - 从 C# 使用 powershell 启动 MSTSC

我正在尝试从 C# 启动 MSTSC / RDP 会话。由于各种原因,我决定调用 Powershell 来执行此操作,部分原因是我知道 powershell 命令有效,尽管我不反对尝试其他方法来启动会话。我启用了 RDSH,并且很高兴能够在这台机器上启动多个 RDP 会话。

在 Powershell 中运行以下命令会完全按照我的预期启动 RDP 会话: cmdkey /generic:TERMSRV/localhost /user:username /pass:password; mstsc /v:localhost

尝试使用下面的代码和 System.Management.Automation.dll 将其转换为 C# 但是失败并出现错误:

指定的连接文件无效 (True)

请注意,这是远程桌面连接错误,而不是 powershell 或 C# 错误。

我正在使用的代码是:

这被称为使用:

StartRDP(username, password);

我还使用具有相同结果的硬编码变量对其进行了测试。非常感谢任何建议!

编辑: 检查了系统上缓存的凭据后,我可以看到此方法将“True”附加到所有参数的末尾...查看直接在 Powershell 中创建的凭据与在 C# 中创建的凭据之间的区别:

电源外壳:

目标:LegacyGeneric:target=TERMSRV/localhost
类型:通用
用户:用户名

C#:

目标:LegacyGeneric:target=TERMSRV/localhost True
类型:通用
用户:用户名 True

这似乎是问题所在,尽管我还没有接近解决它。