【问题标题】:Run c# commands remotely远程运行 c# 命令
【发布时间】:2018-12-19 12:12:11
【问题描述】:

我是 C# 新手,我在程序中的目的之一是了解远程机器系统架构。 我找到了这个命令:

System.Environment.Is64BitOperatingSystem

这实际上是获取环境属性的值,但这仅在我正在开发的本地机器上。

有没有办法远程运行这个命令或任何其他命令?

或者,我知道如何在 PowerShell 中执行此操作,方法是使用带有 -ComputerName 参数的 Get-WMIObject 进行查询,该参数为我提供了远程查询 WMI 的选项。 那么也许还有另一种简单的方法可以在 C# 中做到这一点?

谢谢

更新: 我使用了那个链接:https://docs.microsoft.com/en-us/windows/desktop/wmisdk/connecting-to-wmi-remotely-with-c-Alex 给我的东西,在文章中我需要使用程序集:

Microsoft.Management.Infrastructure

但我无法引用它,或者在我的计算机中找到它...... 微软的文章没有说明我可以在哪里找到它。

【问题讨论】:

  • 用c#你也可以查询WMI
  • 见:Win32_OperatingSystem。通常与Win32_ComputerSystem 结合使用(用于提取用户名/域/机器的工作组)。请参阅here(在代码部分的底部)如何设置 WMI ConnectionOptions 以进行身份​​验证
  • @AlexK。出于某种原因,我无法引用 Microsoft.Management.Infrastructrue 程序集。我也无法引用它。网上搜索后,没有回答在哪里下载它:(
  • Microsoft.Management.Infrastructure - NuGet。您应该将其用于监控目的。如果您只需要测试机器的系统bitnessSystem.Management 会给出相同的结果。

标签: c# wmi


【解决方案1】:

我建议您使用 PowerShell 来运行远程命令,因为它非常常用。你可以像这样运行它:

Invoke-Command -ComputerName Server01, Server02 -FilePath c:\Scripts\yourPowerShellScript.ps1

您可以从 c# 运行 powershell 脚本,我们可以在此处看到 https://blogs.msdn.microsoft.com/kebab/2014/04/28/executing-powershell-scripts-from-c/

您可以在https://docs.microsoft.com/es-es/powershell/scripting/learn/remoting/running-remote-commands?view=powershell-6找到更多信息

【讨论】:

    猜你喜欢
    • 2020-09-03
    • 1970-01-01
    • 2014-09-11
    • 2018-03-03
    • 2012-05-23
    • 1970-01-01
    • 2014-10-07
    • 2017-01-12
    • 1970-01-01
    相关资源
    最近更新 更多