【发布时间】:2015-11-10 12:18:23
【问题描述】:
我知道我可以通过以下方式获取最初定义的命令:
Runspace rs = RunspaceFactory.CreateRunspace();
rs.InitialSessionsState.Commands
或在 PowerShell 本身中:
[System.Management.Automation.Runspaces.Runspace]::DefaultRunspace.InitialSessionState.Commands
但这仅代表创建运行空间之前的状态。
如果我导入一个模块(即使通过手动创建会话状态对象并在打开运行空间之前使用sesh.ImportPSModule()),这些函数或 cmdlet 都不会显示在列表中。
如果我用.AddScript() 或其他东西定义一个新函数也是一样的。
有没有办法从运行空间外部获取运行空间的当前状态,而不仅仅是初始状态?
我想过只是从运行空间内调用Get-Command 并返回对象,但它似乎.. 出于某种原因对我来说是错误的。我觉得我在这里遗漏了一些简单的东西,应该有一种方法可以查看当前状态以及其中定义的内容。
【问题讨论】:
标签: c# powershell runspace