|
我们可以通过执行单条命令或者结合管道运行多条命令来完成很多任务,但是有时你想创建一个脚本,执行一系列的操作或者加载一个函数库或者预定义变量或别名在Shell中,这一节,我们将学习创建脚本以及运行脚本
怎么做呢?
1、 让我们创建一个基本的脚本,来自动执行一个多步骤的过程。启用文本编辑器,输入如下代码:
param(
$name,
$maxsendsize,
$maxreceivesize,
$city,
$state,
$title,
$department
)
Set-Mailbox -Identity $name `
-MaxSendSize $maxsendsize `
-MaxReceiveSize $maxreceivesize
Set-User -Identity $name `
-City $city `
-StateOrProvince $state `
-Title $title `
-Department $department
Add-DistributionGroupMember -Identity 技术中心 `
-Member $name
2、 接下来,我们把改文件在如下路径c:\Update-SalesMailbox.ps1
3、 下面开始运行脚本
C:\Update-SalesMailbox.ps1 -name testuser `
-maxsendsize 25mb `
-maxreceivesize 25mb `
-city Phoenix `
-state AZ `
-title Manager `
-department Sales
Powershell运行原理
Powershell脚本的概念有点类型于cmd.exe,批处理文件等。但是,PowerShell不是批处理的扩展,PowerShell使用的是.ps1扩展名。创建一个脚本时,我们可以使用文本编辑器进行编辑,或者我们可以使用PowerShell集成脚本环境ISE进行编辑
PowerShell就像一个函数,可以接受参数。从上面的示例中,我们可以看到,通过脚本我们自动完成修改邮箱的属性,并将其添加到通讯组。因为上面涉及到三条命令,那么我们可以使用脚本来自动完成我们想要完成的任务。
假如我们想运行脚本对一组邮箱进行操作,那么我们可以使用ForEach循环进行处理,看下面的示例:
foreach($i in Get-Mailbox -OrganizationalUnit contoso.com/sales) {
c:\Update-SalesMailbox.ps1 -name $i.name `
-maxsendsize 100mb `
-maxreceivesize 100mb `
-city Phoenix `
-state AZ `
-title 'Sales Rep' `
-department Sales
}
PowerShell脚本执行策略
Windows PowerShell脚本策略安全是为了防止一些不安全的脚本运行在你的环境中,默认有如下几种安全策略:
1、 Restricted:在这种模式下,一些数字签名的脚本也是不允许运行的
2、 AllSigned:在此模式下,所有签名的脚本都可以运行
3、 RemoteSigned:在这种模式下,只允许运行本地脚本,一些从因特网下载的脚本是不允许运行的
4、 Unrestricted:在这种模式下,所有的脚本都可以运行,无论是否签名,或者本地还是从因特网下载的都可以运行 |
|
|