从模块中导入要在Runspacepool中使用的特定cmdlet

本文关键字:cmdlet Runspacepool 模块 导入 | 更新日期: 2023-09-27 18:07:08

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

要从一个模块中导入特定的Cmdlet, " import - module "命令接受一个参数"Cmdlet",使用该参数我们只能从该模块中导入特定的Cmdlet。如何在Runspacepool

从模块中导入要在Runspacepool中使用的特定cmdlet

中实现此行为(仅从模块导入特定的cmdlet)

您可以向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);