【问题标题】:Import specific cmdlets from modules to use in Runspacepool从模块导入特定 cmdlet 以在 Runspacepool 中使用
【发布时间】:2015-11-02 15:24:29
【问题描述】:

在 C# 中,InitialSessionState 类提供了一种导入特定模块的方法,并使用“ImportPSModule”方法使其可用于运行空间池中的所有运行空间。 (但这会导入正在导入的模块中的所有 cmdlet)

要从模块中导入特定的 cmdlet,“Import-Module”命令接受参数“Cmdlet”,我们可以使用该参数仅从该模块中导入特定的 cmdlet。 如何在 Runspacepool 中实现此行为(仅从模块中导入特定的 cmdlet)

【问题讨论】:

  • 为什么需要这个?如果出于性能/资源原因需要它,那么我不会打扰,我认为没有显着差异(如果有的话)。

标签: c# powershell runspace


【解决方案1】:

您可以在 InitialSessionState 实例的Commands 属性中添加命令(此处以Cmdlet 类型命令为例):

InitialSessionState iss = InitialSessionState.CreateDefault();
SessionStateCmdletEntry resolveCmdlet = new SessionStateCmdletEntry("Resolve-DnsName", 
    typeof(Microsoft.DnsClient.Commands.ResolveDnsName), 
    "dnslookup.dll-Help.xml");
iss.Commands.Add(resolveCmdlet);
Runspace rs = RunspaceFactory.CreateRunspace(iss);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-07
    • 2011-02-19
    • 2022-01-05
    • 1970-01-01
    • 2021-05-15
    • 2022-08-03
    • 2010-10-17
    相关资源
    最近更新 更多