首页 > 代码库 > Exchange 2013 PowerShell数组和哈希表
Exchange 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里查看下用户信息:
上面的命令中,我们可以看到,用户属性中的Title,Department和Office在使用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数组和哈希表