在应用程序中使用RunSpace 3

 

在上一次的博客中我们已经完成了最简单的运行空间开启以及管道调用

当然你可能并不甘心,并不满足仅仅运行Get-Disk 这么简单的命令

或许你已经尝试使用Get-ADUser 来检索活动目录用户,当然这在V3,以及V4之后的版本都没问题,由于V2版本太过久远而我个人也已经记不太清当时的情况,可能是得益于V3,V4版本的动态模块加载功能,现在我也已经不再需要调用的第一个管道中的命令要导入模块了

当然我依然有时候需要使用一种叫做Snapin的东西话说我个人是非常喜欢用Snapin的 虽然注册有点麻烦,但是由于自行的开发的Snapin 更加符合自己的使用习惯,

其实在这种场景下我们一定会遇到下面的错误

clip_image001

你可能跟我说根本就没有这个命令嘛你逗我?事实上你没有这个命令因为你根本没有注册相应的Snapin而已 为了证明我没有骗你

clip_image003

事实上我们要论的焦点并不是有没有这个Snapin 的问题而是要讨论下在我们使用默认方法打开运行空间运行空间都要加载那些Snapin这才是我们需要关注的问题所以我们不妨调用之前学会的方法去Get一下就可以知道,微软官方有个说法就是一个默认的运行空间在开启之后之加载默认的配置,具体配置可以去TechNet 查询

好了这个蛋疼的问题解决之后就好办多了,下面我开始进行自定义的运行空间

我们之前说过Runspace实例可以通过使用RunspaceFactory 的方法进行创建在其方法重载中可以使用一个现有的RunspaceConfiguration 进行创建

代码如下

clip_image004

我们通过RunspaceConfiguration.Create() 创建仅仅包含基本配置的运行空间配置之后使用 AddPSSnapIn方法添加我们需要的SnapIn 当然也可以使用RemovePSSnapIn

RunspaceConfiguration 实例中包含其他属性可用于查询当前配置包含的命令程序集,以初始化脚本等当然如果你不满足现有方法那么依然可以RunspaceConfiguration. Create的其他重载从一个已有的控制台文件创建相应的配置

本文出自 “自动化世界” 博客,转载请与作者联系!

你可能感兴趣的:(博客,动态,管道,应用程序,空间)