在PowerShell中,是重要的使用cmdlet的參數中,他們在正式的語法定義的順序?調用powershell cmdlet時參數順序有多重要?
我加入了-cc參數來發送,在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
...而不是像這樣(其中許多其他參數的前立方厘米):
send-mailmessage -to $mailTo -cc $mailCC -subject $mailSubj -body $msgbody -smtpserver smtp.domain.tld -from $mailFrom
一般來說,我一直沒超小心這一點,和東西的作品。所以肯定會是矯枉過正(更不用說容易出錯),可以沿着這些路線返回並調整現有的功能腳本。但是在未來的腳本中,值得尊重參數順序呢?還是不值得麻煩?什麼說你?
當然你不想做一個壞的假設哪些參數是默認,然後忽略該參數名稱;我也可以想象這種事情會讓自定義函數或類似的東西變得混亂。但是我的問題是關於更簡單的情況,當一個現成的cmdlet的參數被明確命名時,就像上面的send-mailMessage例子那樣。