Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 如何将变量与命令的其余部分组合_Powershell - Fatal编程技术网

Powershell 如何将变量与命令的其余部分组合

Powershell 如何将变量与命令的其余部分组合,powershell,Powershell,如何将变量与命令的其余部分组合在一起而不产生错误: i、 e.我想提出: Set-MailboxFolderPermission -Identity fred.bloggs@here.com:\Calendar -User Default -AccessRights Reviewer 但是使用可变的$email作为电子邮件地址。我试过: Set-MailboxFolderPermission -Identity $email:\Calendar -User Default -AccessRig

如何将变量与命令的其余部分组合在一起而不产生错误:

i、 e.我想提出:

Set-MailboxFolderPermission -Identity fred.bloggs@here.com:\Calendar -User Default -AccessRights Reviewer
但是使用可变的$email作为电子邮件地址。我试过:

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

但这会产生一个错误。

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

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

变量只有在双引号中才会展开:

set-MailboxFolderPermission -Identity "$email:\Calendar" -User Default -AccessRights Reviewer
冒号(
)是变量名称中的有效字符(它是范围说明符或PSDrive引用),因此它查找变量
$email:
(该变量本身无效,但在这里仍然有问题)。您需要一个子表达式和引号:

"$($email):\Calendar"
或者逃出结肠:

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

"$($email):\Calendar"
或者逃出结肠:

$email`:\Calendar

也可以使用大括号分隔变量。请注意,使用此语法时,变量名不包括美元符号:

"${email}:\Calendar"

也可以使用大括号分隔变量。请注意,使用此语法时,变量名不包括美元符号:

"${email}:\Calendar"

谢谢,但我刚刚尝试了你的建议,得到的“指定邮箱”\Calendar“不存在。”finisterre:那是因为
$email:
扩展为空。谢谢,但我刚刚尝试了你的建议,得到的是“指定邮箱”\Calendar不存在。'finisterre:那是因为
$email:
扩展为空。谢谢,但这两个都给了我“指定邮箱”测试。user@here.com“不存在。”它确实存在。但是,错误出现在其他地方,变量嵌入/引用问题得到解决。“那就再看远一点吧!”乔伊——刚刚意识到。您在回答中“吃”\了…:)可能这就是错误信息的原因。啊,这可能是真的。谢谢当我将内联代码更改为块代码时,它可能已经消失了,因为Markdown并不真正喜欢将
`
作为转义字符。不过,谢伊有更好的答案;我倾向于忘记
${…}
,主要是因为我打高尔夫球时很少需要它。即使你吃了,我也把\放进去了。反正没用。谢谢,但这两个都给了我“指定邮箱”测试。user@here.com“不存在。”它确实存在。但是,错误出现在其他地方,变量嵌入/引用问题得到解决。“那就再看远一点吧!”乔伊——刚刚意识到。您在回答中“吃”\了…:)可能这就是错误信息的原因。啊,这可能是真的。谢谢当我将内联代码更改为块代码时,它可能已经消失了,因为Markdown并不真正喜欢将
`
作为转义字符。不过,谢伊有更好的答案;我倾向于忘记
${…}
,主要是因为我打高尔夫球时很少需要它。即使你吃了,我也把\放进去了。反正没用。没有欢乐CategoryInfo:ObjectNotFound:(email:String)[],CommandNotFoundException无法将参数绑定到参数“Identity”,因为它为空。如果用双引号将其括起来会有帮助吗?(例如“${email}:\Calendar”)没有快乐CategoryInfo:ObjectNotFound:(email:String)[],CommandNotFoundException无法将参数绑定到参数“Identity”,因为它为空。如果用双引号将其括起来会有帮助吗?(例如“${email}:\日历”)