【问题标题】:How to detect if MSOnline PowerShell module is available - via C#如何检测 MSOnline PowerShell 模块是否可用 - 通过 C#
【发布时间】:2016-10-10 14:10:19
【问题描述】:

我正在尝试使用 C#MSOnline PowerShell 模块是否在 OS 上可用

乍一看 - 没有什么困难。我们可以从 C# 调用 PowerShell 方法。但由于某种原因,我尝试使用的所有代码 sn-ps 都没有得到 MSOnline 模块的结果。

例如我们使用方法http://www.codeproject.com/Articles/18229/How-to-run-PowerShell-scripts-from-C 并传递如下命令:

Get-Module -ListAvailable -Name(这里是名字)

所以如果我们为 TLS 模块运行它 - 它工作正常。在下图中,我们看到了它在 C# 控制台应用程序中的工作方式,在右侧 - 它在 PowerShell 中的外观。看起来很公平。

但是如果我们尝试查找 MSOnline 模块,一切都会改变:

正如我们所见 - C# 程序没有给出任何结果,而 PowerShell 本身向我们显示该模块可用。

我真的很困惑。我认为这与我的电脑有关,但我检查了一些不同的电脑,包括 Server 2012 R2。结果是一样的 - 即使我们使用与 PS 中完全相同的命令,也无法通过 C# 查找此模块。

有人见过这样的问题吗?如果是 - 如果存在 MSOnline PS 模块,可以通过 C# 进行检测。

谢谢。

【问题讨论】:

    标签: c# .net powershell office365


    【解决方案1】:

    其实我为自己的问题找到了解决方案:

    您需要确保您的程序和模块同时具有 32 位或 64 位。

    MSOnline 正在运行 x64,如果您的程序针对 32 位系统或有任何 CPU 并在运行时运行 32 位 - 您将得到零结果。

    就是这样。

    【讨论】:

      猜你喜欢
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 2017-09-07
      • 2016-07-10
      • 2021-01-18
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      相关资源
      最近更新 更多