【发布时间】:2019-06-15 09:39:48
【问题描述】:
问题摘要
我有两个具有相同内容的变量,唯一的区别是变量的填充方式,当我尝试在交换管理 shell 中使用它时,一个变量出现错误,而另一个变量正常工作。
详细说明 - 附示例
我创建了一个传输规则来阻止来自特定发件人的电子邮件,我正在尝试使用 powershell 中的一行将用户添加到阻止列表中。
- 我首先尝试了使用常规方法来操作数组
set-transportrule -identity "whatever" -from @{add="whoever"}但这不起作用,我研究了它,发现它是设计使然,所以我放弃了。 - 所以我尝试了其他方法
set-transportrule -identity "whatever" -from (get-transportrule -identity "whatever").from,"whoever2"但我又遇到了障碍。 - 所以尝试了
set-transportrule -identity "whatever" -from "whoever1","whoever2",效果很好。但这不是我想要添加到现有值的内容。
这让我开始思考,所以我开始测试以找出两个数组之间的差异
- 首先,我创建了一个变量
variable1 = "whoever1","whoever2"并像set-transportrule -identity "whatever" -from $variable1一样使用它,它可以正常工作。 - 所以我继续创建了另一个变量
variable2 = (get-transportrule -identity "whatever").from,"whoever2"并尝试使用它set-transportrule -identity "whatever" -from $variable2,但这不起作用。
我比较了变量类型,它们是相同的。这里发生了什么?我错过了什么
提前感谢您的帮助!
【问题讨论】:
-
你比较的是数组项类型还是数组?
$Collection.GetType()不会给您与$Collection[0].GetType()相同的结果。
标签: powershell exchange-server exchange-server-2010