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 += "[email protected]"

Set-Mailbox testuser -EmailAddresses $mailbox.EmailAddresses

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

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

$mailbox.EmailAddresses -= "[email protected]"

Set-Mailbox testuser -EmailAddresses $mailbox.EmailAddresses

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

时间: 2024-10-09 08:45:49

Exchange 2013 PowerShell数组和哈希表的相关文章

PowerShell【初级篇●Powershell数组和哈希表】

Powershell数组和哈希表 创建数组可以使用逗号.例如,$nums=2,0,1,2 对于连续的数字数组可以使用一个更快捷的方法.例如,$nums=1..5 如果数组中元素的类型为弱类型,默认可以存储不同类型的值.例如,$array=1,"2012世界末日",([System.Guid]::NewGuid()),(get-date) 使用@()创建数组.空数组.例如,$a= @() 1个元素的数组.例如,$a=,"moss" 使用@{}创建哈希表.例如,[ema

4.PowerShell -- 数组,哈希表

1. PowerShell数组 声明数组 [email protected]("user1","user2","user3") 查看数组 $strUsers PS C:\Users\Administrator> $strUsers[0] user1 赋值 $strUsers[1]="marui" 重新查看数组元素 PS C:\Users\Administrator> $strUsers user1 marui us

Exchange 2013 PowerShell管理联系人&通讯组&资源邮箱

管理联系人 创建联系人,使用如下语法: New-MailContact -Alias rjones ` -Name "Rob Jones" ` -ExternalEmailAddress [email protected] ` -OrganizationalUnit sales 已启用邮箱的用户可以使用如下语法: New-MailUser -Name 'John Davis' ` -Alias jdavis ` -UserPrincipalName [email protected]

Exchange 2013 PowerShell新建&修改&删除邮箱

在我们日常使用Exchange Management Shell最多的应该就是邮箱的管理了.在这一节中,将主要介绍下在Exchange中使用语法命令在组织中创建.更新和删除邮箱. 先来看一个示例: 1.  我们可以使用Exchange Management Shell创建一个启用了邮箱功能的AD账户.语法如下: $password = ConvertTo-SecureString -AsPlainText abc.123 -Force New-Mailbox -UserPrincipalName

PHP关联数组与哈希表(hash table) 不指定

PHP中有一种数据类型非常重要,它就是关联数组,又称为哈希表(hash table),是一种非常好用的数据结构. 在程序中,我们可能会遇到需要消重的问题,举一个最简单的模型: 有一份用户名列表,存储了 10000 个用户名,没有重复项: 还有一份黑名单列表,存储了 2000 个用户名,格式与用户名列表相同: 现在需要从用户名列表中删除处在黑名单里的用户名,要求用尽量快的时间处理. 这个问题是一个小规模的处理量,如果实际一点,2 个表都可能很大,比如有 2 亿条记录. 我最开始想到的方法,就是做一

Exchange 2013 PowerShell创建自定义对象

PowerShell是一个基于对象的Shell,在写一行程序,脚本和函数时,給了我们很大的灵活性.当生成详细的报告时,我们需要从代码中自定义我们的数据输出,或者可以通过管道输送到其它的命令.我们还需要能够控制和定制代码的输出,这样我们可以合并来自多个源的数据到一个单独的对象.在这一节中,我们将学习下基本的构建定制的对象 首先我们要做的时创建一个邮箱对象的集合,将用来作为一组新的自定义对象的数据源: $mailboxes = Get-Mailbox 可以添加自定义的属性用于后续整个管道的对象属性,

Exchange 2013 PowerShell 传输文件及并行管道

自从Exchange 2013管理Shell命令是通过远程PowerShell会话执行,导入和导出文件需要一个新的特定参数.大概有上百个Shell命令需要用到,那么这一小节,我们就看看如何使用这些参数通过远程Shell连接进行传输文件的. 传输文件工作方式: 假如你正在当前活动目录站点中创建一个边缘订阅中心到传输服务器.当你在边缘服务器上生成了xml文件后,你可以通过New-EdgeSubscription命令,具体语法如下: [byte[]]$data = Get-Content -Path

Exchange 2013 PowerShell手动配置远程PowerShell连接

介绍 在Exchange 2007的时候,微软就推出了一套全新的基于Shell的管理工具:PowerShell V1,而且所有的图形化界面也是建立在这种技术之上的. 到了Exchange 2010,PowerShell更紧密的集成在产品中,Exchange 2010使用的是PowerShell V2,很大程度上依赖于其新的远程架构.即使你的服务器在本地或云端,都可以方便的使用这套管理工具. 在Exchange 2013中,使用的是PowerShell V3,有了更多的命令以及核心功能改变.在20

58. C# -- 集合(动态数组,哈希表,排序列表,堆栈,队列,点阵列)

一.先来说说数组的不足(也可以说集合与数组的区别): 1.数组是固定大小的,不能伸缩.虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化.随后以前的数组就废弃!而集合却是可变长的 2.数组要声明元素的类型,集合类的元素类型却是object. 3.数组可读可写不能声明只读数组.集合类可以提供ReadOnly方法以只读方式使用集合. 4.数组要有整数下标才能访问特定的元素,然而很多时候这样的下标并不是很有用.集合也是