首页 > 代码库 > PowerShell 中Snapin和Module

PowerShell 中Snapin和Module

大家在运用powershell的时候经常需要导入Snapin和Module来帮助完成一些运维操作。

比如以下两种操作:

1我们通过调用活动目录Module来管理用户

image

2 通过导入Exchange的Snapin来完成对邮箱的管理

image

但什么是Snapin和Module呢?

从上面的举例来看两者都是powershell的扩展。在MSDN上Snapin翻译为:“管理单元”,Module翻译为“组件“。

Snapin是PowerShell 1.0中引入的,Module是PowerShell 2.0引入的。

核心区别:module可以直接复制部署,但是Snapin必须先注册才能使用。比如,别人给了你一个Snapin你得先使用.NET中的installutil.exe工具注册,注册完后才可以 Add-PSSnapin,而如果别人给了你一个Module,你复制过来就可以Import-Module。

Snapin必须是dll,vb,c#编译的均可,但是Module除了可以是dll,还可以是ps脚本文件。

正因为第3点和第4点的区别,Module比Snapin方便,灵活,MS曾经许多的老牌Snapin在新版本的中摇身一变,成了module