问题标签 [pssnapin]

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 回答
384 浏览

powershell - 从无法按预期工作的模块添加管理单元

我有以下名为 module.psm1 的 PowerShell 模块。这是一个简化的例子。我正在针对 SharePoint 2013 执行操作,因此我需要模块中的 SharePoint 管理单元

在我的 moduletest.ps1 中,我调用了 Test 和相同的逻辑

当我从模块运行功能测试时,输出是:

所以在模块中,当我以某种方式移除 SNapIn 时,它并没有真正消失。当我直接从 ps1 文件运行代码时,我得到:

在我的 ps1 文件中,Remove 实际上完全删除了 SnapIn。这是正常行为吗?我看到其他 SnapIn 的行为相同。

我的另一个问题是:

当我从控制台导入模块并从模块加载管理单元并从控制台中的管理单元执行命令时,不会识别任何 cmdlet。当我在模块中加载管理单元时,是在不同的范围或上下文中完成的吗?

0 投票
2 回答
813 浏览

powershell - 如何加载组件服务/DCOM 配置管理单元

我有一个 PS 脚本来做一些 DCOM 配置。只要我加载了组件服务/DCOM 配置管理单元,它就可以正常工作。我想以编程方式加载它,这样我就可以将所有这些作为安装包的一部分来完成。有谁知道该怎么做?我不知道要添加/导入的管理单元的名称。

要加载管理单元,我运行 comexp.msc -32 并单击组件服务、计算机、我的电脑、DCOM 配置。谢谢

0 投票
1 回答
714 浏览

c# - 从 C# 运行 PowerShell 脚本时 Add-PSSnapin 的路径不正确

我正在从这样的 C# 工具运行 PowerShell 脚本:

在我需要来自其他程序集的特殊 Cmdlet 之前,脚本中的几乎所有内容都可以正常工作。Add-PSSnapin 命令将始终失败,并显示:

跑步时

直接在 PowerShell 窗口中运行脚本时一切正常,所以我猜它与未从 C# 工具转发的 PATH 或 Scope 有关。使用 AddCommand 的参数 useLocalScope 或其他参数没有产生任何结果(尽管我不确定这是否与路径有关)。

如何使脚本工作并找到外部程序集?

0 投票
1 回答
572 浏览

c# - 在 C#/.NET Core 2.1 应用程序中运行 Powershell 5.1

我正在尝试将应用程序从 .NET 4.5 迁移到 .NET Core 2.1。

此应用程序使用 System.Management.Automation dll 来执行 powershell 命令和脚本。我需要使用 SDK 中的一些 PSSnapin,但我不知道是否可以在 .NET Core 2.1 中获得这些功能

我尝试使用 InitialSessionState 导入我的管理单元,但它返回类型为 PSSnapin 的 TypeLoadException。 https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.runspaces.initialsessionstate.importpssnapin?view=pscore-6.2.0#System_Management_Automation_Runspaces_InitialSessionState_ImportPSSnapIn_System_String_System_Management_Automation_Runspaces_PSSnapInException__

那么我可以在 C# 中使用 PowershellCore 加载我的 PSSnapin 吗?或者我可以从 .NET Core 2.1 访问 System.Management.Automation 以继续调用脚本吗?