设为首页 收藏本站
查看: 1071|回复: 0

Exchange 2013 PowerShell数组和哈希表

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-26 08:37:34 | 显示全部楼层 |阅读模式
示例:
你可以使用一个变量来存放一个数组,通过这个数组对变量分配多个值,在值之间,值需要用分隔号隔开,下面来创建一个示例:
$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中运行的结果:
wKioL1TFF2OC5VFFAADhR66UjNg244.jpg
上面的结果中,开始是输出结果,后面使用重新赋值的方式把$server[2]的值从EX3修改为EX4
下面继续看一条命令,我们对数组增加值
wKioL1TFF2PgSrjgAABbVw-2nHg662.jpg
使用如下命令查看当前数组中值的个数:
wKiom1TFFoezoADoAAAko6etzAA842.jpg
我们也可是使用循序语句,把数据中的值以字符串的形式显示出来,语法如下:
$servers | ForEach-Object {"Server Name: $_"}
wKioL1TFF2Ojl5WUAACT_v5Nbpk951.jpg
还可以使用参数-Contains 或者 –NotContains来查看数组中是否存在指定的值
              PS C:> $servers -contains "EX1"
True
下面开始将下哈希表的用法:
wKiom1TFFoegUy9jAADy_yJk8k8988.jpg
假如你想对哈希表进行排序,可以使用GetEnumerator()方法,然后使用值进行排序
wKioL1TFF2Sw587lAAB2vHQDYlA907.jpg
我们在创建自定义的对象时也能够使用哈希表,或者提供一组参数名称或参数化值。而不需要一个一个命令指定参数的名称,你可以使用哈希表的对应的值去匹配参数的名称以及其关联的键值来被自动输入,下面看个例子:
$parameters = @{
Title = "Manager"
Department = "运维工程部"
Office = "总部"
}
Set-User testuser @parameters
wKiom1TFFoizBVKGAACPw3ApMss174.jpg
到AD里查看下用户信息:
wKioL1TFF2TCgPGnAAHkpGe99uU669.jpg
wKiom1TFFpeRZXZ2AAGgoLzGDaA618.jpg
上面的命令中,我们可以看到,用户属性中的Title,Department和Office在使用Set-User被赋值
关于更多哈希表的用法,可以使用帮助系统,允许如下命令:
Get-Help about_Hash_Tables
更多数据和哈希表的用法示例:
可以使用输出结果来创建一个数组,例如,我们使用Get-Mailbox命令来获取一组邮箱
wKioL1TFF3SR9J6pAADCiFTuOgg960.jpg
对刚才创建的数组进行操作:
wKiom1TFFpjz-Z65AABciMoiMU0871.jpg
注意:当我们的命令只是返回一个项目,在Exchange 2013是不可以使用数据形式访问的,但是在Exchange 2013 SP1中修复了此问题,看看下面的例子:
wKioL1TFF3TDJRQeAAB-vaKQz98408.jpg
假如是Exchange2013版本,我们可以使用如下命令避免输出结果出现错误:
wKiom1TFFpiBXmyUAACEHoarR7E403.jpg
我们可以增加和删除多个属性值,看看下面的例子:我们对Testuser这个用户添加一个Email地址
$mailbox = Get-Mailbox testuser
$mailbox.EmailAddresses += "testuser@contoso.com"
Set-Mailbox testuser -EmailAddresses $mailbox.EmailAddresses
wKioL1TFF3XTOjLjAAB3AUHD-So421.jpg
看看用户的电子邮件地址信息:
wKiom1TFFpmh4Gr0AAEbtvlXc1Y059.jpg
也可以执行删除操作,命令如下:
$mailbox.EmailAddresses -= "testuser@contoso.com"
Set-Mailbox testuser -EmailAddresses $mailbox.EmailAddresses
wKioL1TFF3Ww_kgUAAD-ob44-Os947.jpg
关于更多数组的帮助信息,我们使用Get-Help about_arrays查看


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-41393-1-1.html 上篇帖子: 使用Windows PowerShell管理虚拟交换机 下篇帖子: Exchange 2013 PowerShell格式化输出信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表