powershell脚本使用参数混合变量

时间:2015-11-03 22:39:47

标签: powershell

我正在构建一个powershell脚本,其中部分脚本会更改多个资源日历的权限。正常的命令是(有效,没问题):

Set-MailboxFolderPermission -Identity "ResourceCalendar:\Calendar" -user Default -AccessRights Reviewer

我尝试过使用:

Set-MailboxFolderPermission -Identity "$line.name:\Calendar" -user Default -AccessRights Reviewer

Set-MailboxFolderPermission -Identity $line.name:\Calendar -user Default -AccessRights Reviewer

但它一直在抛出错误。

该变量可以在其他任何地方使用 - 它是从它在脚本开头导入的CSV中捕获的。它与:\日历无法连接到它。

1 个答案:

答案 0 :(得分:6)

the parser evaluates parameter arguments时,它将它们视为可扩展字符串 - 这意味着$line.name的解释方式与:{/ p>相同

$line + ".name"

要取消引用变量的属性,请使用子表达式运算符$()

Set-MailboxFolderPermission -Identity "$($line.name):\Calendar" -user Default -AccessRights Reviewer

现在,$()内的所有内容都将被评估为PowerShell表达式。