小编noa*_*oam的帖子

调用powershell cmdlet时参数顺序有多重要?

在Powershell中,按照官方语法中定义的顺序使用cmdlet参数是否重要?

我在现有脚本中将-cc参数添加到send-mailMessage.我在-To之后立即添加了-cc,它工作得很好,所以我倾向于单独留下足够好的东西.但cmdlet的唯一参数集在帮助文本中定义如下:

Send-MailMessage [-To] [-Subject] [[-Body]] [[-SmtpServer]] -From [-Attachments] [-Bcc] [-BodyAsHtml] [-Cc] [-Credential] [-DeliveryNotificationOption] [ -Encoding] [-Port] [-Priority] [-UseSsl] []

因此,我认为最好的做法是运行这样的命令(在主题,正文,smtpserver之后的cc,以及在帮助文本之后):

send-mailmessage -to $mailTo -subject $mailSubj -body $msgbody -smtpserver smtp.domain.tld -from $mailFrom -cc $mailCC
Run Code Online (Sandbox Code Playgroud)

...而不是像这样(在许多其他参数之前的cc):

send-mailmessage -to $mailTo -cc $mailCC -subject $mailSubj -body $msgbody -smtpserver smtp.domain.tld -from $mailFrom
Run Code Online (Sandbox Code Playgroud)

总的来说,我并没有对此非常小心,而且有些东西可行.所以回过头来调整功能现有的脚本肯定是有点过分(更不用说容易出错了).但是,在未来的脚本中,也许值得尊重未来的参数顺序?还是不值得麻烦?怎么说你?

当然,您不希望错误地假设哪个参数是默认参数,然后省略参数名称; 我还可以想象这种事情变得混乱了自定义函数等等.但我的问题是关于更简单的情况,当显式命名一个内置cmdlet的参数时,就像上面的send-mailMessage示例一样.

convention parameters syntax powershell

3
推荐指数
1
解决办法
1709
查看次数

标签 统计

convention ×1

parameters ×1

powershell ×1

syntax ×1