1

如何将变量与命令的其余部分结合起来,而不会出现错误:

即我想发出:

Set-MailboxFolderPermission -Identity fred.bloggs@here.com:\Calendar -User Default -AccessRights Reviewer

但是使用变量 $email 作为电子邮件地址。我试过了:

Set-MailboxFolderPermission -Identity $email:\Calendar -User Default -AccessRights Reviewer

但这给出了一个错误。

4

3 回答 3

2

冒号 ( :) 是变量名称中的有效字符(它是范围说明符或 PSDrive 引用),因此它会查找变量$email:(它本身是无效的,但在这里仍然存在问题)。您需要一个子表达式和引号:

"$($email):\Calendar"

或转义冒号:

$email`:\Calendar
于 2013-03-25T10:07:35.830 回答
2

您还可以使用大括号来隔离变量。请注意,使用此语法,变量名称不包含美元符号:

"${email}:\Calendar"
于 2013-03-25T10:29:45.020 回答
0

除非在双引号中,否则变量不会扩展:

set-MailboxFolderPermission -Identity "$email:\Calendar" -User Default -AccessRights Reviewer
于 2013-03-25T10:03:27.250 回答