PowerShellのスクリプトファイルへの起動引数を指定するParamの位置は、ファイルの先頭にする必要がある。
関数定義やコマンの起動などを行う前の場所に記述すると、以下の様なメッセージが出力さる。
+ Param($output)
+ ~~~~~
+ CategoryInfo : ObjectNotFound: (Param:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
ただ例外があった。
Paramより前に記述しなければいけない構文がある。
それがusing句(using namespace)。
using句をParamの後ろに記述すると、以下の様なメッセージが出力される。
'using' ステートメントは、スクリプト内の他のどのステートメントよりも前に記述する必要があります。
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UsingMustBeAtStartOfScript
ということで、記述順序はusing、Paramになる。
コメント