在C#中,InitialSessionState类提供了一种导入特定模块的方法,并使用“ImportPSModule”方法使其可用于runspacepool中的所有运行空间。 (但这会导入正在导入的模块中的所有cmdlet)
要从模块导入特定cmdlet,“Import-Module”命令接受参数“Cmdlet”,使用该参数我们只能导入该模块中的特定cmdltes。 如何在Runspacepool中实现此行为(仅从模块导入特定cmdlet)
答案 0 :(得分:2)
您可以向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);