Powershell有两种方法可将额外的cmdlet导入会话,Add-PsSnapIn和Import-Module。关于何时会选择哪一个的文档完全不清楚。有人知道这些之间的区别吗?Add-PsSnapIn和Import-Module之间的区别是什么
31
A
回答
30
模块在PowerShell V2中出现。如果需要,V2仍然可以加载Snapins。最大的区别是可以使用Xcopy部署模块。没有必要注册任何东西。要部署Snapin,安装程序必须破解注册表,这需要提升权限。要加载模块,只需使用Import-Module命令。
使用模块清单以及模块可以有更多的元数据,它可以指定各种对最终用户来说可能有用的东西,包括版本,其他模块的依赖关系以及哪些PowerShell主机可以运行该模块。所有这些,如果你正在用C#或VB编写一个二进制模块,你仍然使用相同的PSSnapin基类。
要获取更多信息,请
PS > help about_modules
4
13
在第2版中,模块是组织创建的cmdlet,提供程序,函数,别名和其他命令的首选方式。您不需要安装模块。您只需使用Import-Module cmdlet将模块导入到PowerShell会话中。
AFAIK,PowerShell管理单元更多的是v1方法。在MS创建snapins而不是模块上仍然有几个团队。例如,SharePoint 2010 cmdlet。 PowerShell管理单元是实现cmdlet和提供程序的二进制文件(.dll)。您需要安装管理单元,然后使用Add-PSSnapin cmdlet将管理单元中的cmdlet添加到PowerShell会话中。
1
PSSnapin提供了一种通过在受保护的目录中安装DLL文件来保护您的组件相比,其可以通过只替换文件播放模块。
我发现的IIS 7管理管理单元现在是一个模块作为IIS 7.5`进口模块webadministration`源:http://powershell.com/cs/forums/t/8209 .aspx – northben 2012-11-15 21:03:11