PowerShell 中Snapin和Module

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

比如以下两种操作:

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

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

但什么是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

PowerShell 中Snapin和Module

时间: 2024-10-22 18:19:36

PowerShell 中Snapin和Module的相关文章

(17)Powershell中的重定向运算符

默认情况下,Powershell 把输出发送到屏幕显示.但是,Powershell也可以将输出重定向至一个文本文件,或将错误输出重定向至常规输出流. 重定向运算符有什么用 ? 重定向运算符意味着我们可以将命令的输出信息输出到指定的文件,完全满足脚本中的log的要求,即可以利用重定向打印脚本或命令执行的详细信息. Powershell 中有以下重定向运算符. 运算符 说明 示例 > 将输出发送到指定文件. PS D:\> Get-Process > process.txt >>

(18)Powershell中的字符串拆分运算符

Powershell中提供了对字符串的拆分操作运算符.-split 运算符将一个字符串拆分成多个字符串. 拆分运算符 拆分运算符用于将一个或多个字符串拆分为多个子字符串.可更改拆分操作的以下元素: (1)定界符.默认为空白,但是可指定字符.字符串.模式或用于设置定界符的脚本块. (2)子字符串的最大数目.默认设置为返回所有子字符串.如果指定的数字小于子字符串数,则其余子字符串将合并到最后一个子字符串中. (3)用于指定定界符匹配条件的选项,如 SimpleMatch 和 Multiline. 拆

(21)Powershell中的通配符

使用通配符进行文件的模糊查找 Powershell 中的通配符可以实现模糊查找, 也就是说可以对一组项(而不是单个项)进行查找.例如,如果想查找 D:\MyPowerShell 目录中所有扩展名为 .ps1 的文件,可以执行以下命令: PS C:\> Get-ChildItem D:\MyPowerShell\*.ps1     目录: D:\MyPowerShell Mode                LastWriteTime     Length Name ----          

(实用)将wordpad添加到Windows PowerShell中

PowerShell能够直接打开notepad,但是无法调用wordpad,因为后者的可执行文件并不在系统默认的环境变量$env:Path中,只要将wordpad所在的路径添加到$env:Path,就可以从CMD或PowerShell中直接启动wordpad. 在PowerSehll下输入: $env:Path=$env:Path+”%ProgramFiles%\Windows NT\Accessories 或者: 右键“我的电脑”--“属性”--“高级系统设置”--上方“高级” Panel--

PowerShell中运行Bcdedit命令出错

见下图,当我尝试在PowerShell执行bcdedit删除其中一个启动项时,出现错误:而在CMD中运行时则正常. 执行的命令是: bcdedit /delete {f33a2785-b94a-11e3-a6eb-00e0661386c5} /cleanup 出错的原因: (1)PowerShell中将{}中的内容当作计算式对待: (2)CMD中将{-}整体看作字符: 事实上{f33a2785-b94a-11e3-a6eb-00e0661386c5}就是字符: 由此衍生出: (1)PowerSh

在Powershell中禁止执行脚本

在Powershell中执行脚本时,有如下报错: 无法加载文件 F:\script\1.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 "get-help about_signing". 所在位置 行:1 字符: 8 + .\1.ps1 <<<< + CategoryInfo          : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeExc

(9)Powershell中的内置变量

上一节主要介绍了Powershell中变量的定义和使用,以及在变量中包含特殊字符,或是变量在输出时的一些技巧,详细内容参考这里. 本节介绍Powershell中的内置变量,或是称为自动变量. 在Powershell命令行中,可以输入 Get-Variable 命令查看Powershell中的所有内置变量 PS C:\> Get-Variable Name                           Value ----                           ----- $ 

在CMD命令行和PowerShell中实现复制粘贴功能

在CMD命令行和PowerShell中实现复制粘贴功能 经常使用命令行或者PowerShell的朋友肯定会遇到这种情况:粘贴文本很简单,右键--选择粘贴即可,但是想要复制命令行或者PowerShell中的命令,倒是不知道怎么办了.其实只需要更改其属性. PS:PowerShell是基于任务的命令行外壳,这里和CMD命令行设置一样. 左键点击CMD处理程序左上角,选择属性.(或者按下Alt+空格). 选中快速编辑模式,点击确定. 这时,我们可以选择命令行中的文本了. 在新命令行中双击右键,即可实现

(20)Powershell中的特殊运算符

Powershell 中除了常见的算术运算符,赋值运算符,比较运算符,位运算符,逻辑运算符,字符串的拆分和合并运算符,转义字符,还有一些特殊的运算符,这些特殊的运算符往往可以解决一些特殊的问题,比如执行运行命令,更改值的数据类型等. & (调用运算符) 使用 & (调用运算符)可以运行命令.脚本或脚本块.因为调用运算符不进行分析,所以它不能解释命令参数.此调用运算符用于指示它后面的值为命令(而不是字符串).使用此运算符可以运行存储在变量中并由字符串表示的命令.例如: PS C:\>