環境
Windows Server 2016
知りたいこと
以下事象の原因。
事象
以下コマンドレットのみが記載されたスクリプトファイルを実行すると、後述のエラーが発生する。
PowerShell
1Remove-SmbShare -Name "E"
全く同じコマンドレットをスクリプトファイルからコピペしてシェルから実行するとエラーは発生しない。
操作実行の確認が表示される。
エラー
PowerShell
1Remove-SmbShare : コマンドレットの動的パラメーターを取得できません。null 値の式ではメソッドを呼び出せません。 2発生場所 C:\~~.ps1:1 文字:1 3+ Remove-SmbShare -Name "E" 4+ ~~~~~~~~~~~~~~~~~~~~~~~~~ 5 + CategoryInfo : InvalidArgument: (:) [Remove-SmbShare]、ParameterBindingException 6 + FullyQualifiedErrorId : GetDynamicParametersException,Remove-SmbShare
試したこと
1.同じWindows Server 2016の他のマシンにスクリプトファイルをコピーして実行するとエラーは発生しない。
2.同マシン内でスクリプトファイルをコピペして違うファイル名を付けて実行してもエラーが発生する。
3.同マシン内で新規にテキストファイルを作成して、該当のコマンドレットをスクリプトファイルからコピペして、このテキストファイルの拡張子をsp1に変更して実行してもエラーが発生する。
4.事象が発生したスクリプトファイルの先頭にWrite-Host "test"を記載すると、この箇所ではエラーは発生しない。
5.最終的に、該当のマシンでシェルを再起動して該当のスクリプトファイルを実行するとエラーが発生しなかった。
そもそもコマンドレットに動的パラメータが存在しないので発生し得ないエラーと思います。
間違いなく当該事象の前に操作していた中で対象のシェルの挙動がおかしくなっていたものと思いますが、
今後同様の事象が発生しないとも言えないので、原因に心当たりがある方がおりましたらご回答頂けますと幸甚です。
あなたの回答
tips
プレビュー