码迷,mamicode.com
首页 > 编程语言 > 详细

Exchange 2013 PowerShell数组和哈希表

时间:2015-01-26 06:42:38      阅读:338      评论:0      收藏:0      [点我收藏+]

标签:exchange server 2013 powershell 数据 哈希表 管理

示例:

你可以使用一个变量来存放一个数组,通过这个数组对变量分配多个值,在值之间,值需要用分隔号隔开,下面来创建一个示例:

$servers = “EX1”,”EX2”,”EX3”

                   创建一个空的哈希表,可以使用如下语法:

                   $hashtable = @{}

                   创建完哈希表后,我们可以对它进行赋值:

                   $hashtable[“server1”] = 1

                   $hashtable[“server2”] = 2

                   $hashtable[“server3”] = 3

                   我们也可以使用如下一条命令来创建哈希表,语法如下:

                   $hashtable = @{server1 = 1; server2 = 2; server3 = 3}

                   上面的这条命令中,我们使用了分号隔开多个哈希值,也可以使用如下语法:

                   $hashtable = @{

server1 = 1

server2 = 2

server3 = 3

}

                   下面先来看看数据在PewerShell中运行的结果:

技术分享

上面的结果中,开始是输出结果,后面使用重新赋值的方式把$server[2]的值从EX3修改为EX4

下面继续看一条命令,我们对数组增加值

技术分享

使用如下命令查看当前数组中值的个数:

技术分享

我们也可是使用循序语句,把数据中的值以字符串的形式显示出来,语法如下:

 $servers | ForEach-Object {"Server Name: $_"}

技术分享

还可以使用参数-Contains 或者 –NotContains来查看数组中是否存在指定的值

              PS C:\> $servers -contains "EX1"

True

下面开始将下哈希表的用法:

技术分享

假如你想对哈希表进行排序,可以使用GetEnumerator()方法,然后使用值进行排序

技术分享

我们在创建自定义的对象时也能够使用哈希表,或者提供一组参数名称或参数化值。而不需要一个一个命令指定参数的名称,你可以使用哈希表的对应的值去匹配参数的名称以及其关联的键值来被自动输入,下面看个例子:

$parameters = @{

Title = "Manager"

Department = "运维工程部"

Office = "总部"

}

Set-User testuser @parameters

技术分享

AD里查看下用户信息:

技术分享

技术分享

上面的命令中,我们可以看到,用户属性中的TitleDepartmentOffice在使用Set-User被赋值

关于更多哈希表的用法,可以使用帮助系统,允许如下命令:

Get-Help about_Hash_Tables

更多数据和哈希表的用法示例:

可以使用输出结果来创建一个数组,例如,我们使用Get-Mailbox命令来获取一组邮箱

技术分享

对刚才创建的数组进行操作:

技术分享

注意:当我们的命令只是返回一个项目,在Exchange 2013是不可以使用数据形式访问的,但是在Exchange 2013 SP1中修复了此问题,看看下面的例子:

技术分享

假如是Exchange2013版本,我们可以使用如下命令避免输出结果出现错误:

技术分享

我们可以增加和删除多个属性值,看看下面的例子:我们对Testuser这个用户添加一个Email地址

$mailbox = Get-Mailbox testuser

$mailbox.EmailAddresses += "testuser@contoso.com"

Set-Mailbox testuser -EmailAddresses $mailbox.EmailAddresses

技术分享

看看用户的电子邮件地址信息:

技术分享

也可以执行删除操作,命令如下:

$mailbox.EmailAddresses -= "testuser@contoso.com"

Set-Mailbox testuser -EmailAddresses $mailbox.EmailAddresses

技术分享

关于更多数组的帮助信息,我们使用Get-Help about_arrays查看

本文出自 “Robin's Home” 博客,谢绝转载!

Exchange 2013 PowerShell数组和哈希表

标签:exchange server 2013 powershell 数据 哈希表 管理

原文地址:http://winteragain.blog.51cto.com/1436066/1608184

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!