首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >New-Mailbox命令不接受-Equipment参数

New-Mailbox命令不接受-Equipment参数
EN

Stack Overflow用户
提问于 2019-06-19 19:05:54
回答 1查看 85关注 0票数 0

我正在尝试通过脚本在Exchange Online中创建新资源,如果我手动键入行,它可以工作,但当我运行脚本时,命令New-Mailbox突然不能接受"-Equipment“参数。

脚本在以下行失败:

代码语言:javascript
复制
New-Mailbox -Name "$($Resource)" -$($Type)

错误显示如下:

代码语言:javascript
复制
A positional parameter cannot be found that accepts argument '-Equipment'.
 + CategoryInfo          : InvalidArgument: (:) [New-Mailbox], ParameterBindingException"
EN

回答 1

Stack Overflow用户

发布于 2019-06-19 19:09:00

PowerShell将-$($Type)解释为字符串参数,而不是参数名称。使用splatting有条件地传递参数,如下所示:

代码语言:javascript
复制
$extraParams = @{ $Type = $true }
New-Mailbox -Name "$($Resource)" @extraParams

我不确定Exchange Online中还有哪些其他类型的邮箱可用,但您可能希望弄清楚这一点并应用一些输入验证:

代码语言:javascript
复制
param(
    [string]$Resource,

    [ValidateSet('Equipment','Person','Room')]
    [string]$Type
)

# do other stuff here

# If someone passed a wrong kind of `$Type`, the script would have already thrown an error
$extraParams = @{ $Type = $true }
New-Mailbox -Name "$($Resource)" @extraParams
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56666223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档