導入(FunctionsのPowerShellでWindowsコマンドを実行するとエラー)
AzureFunctionsでランタイムスタック(プログラム言語)がPowerShellを使用する場合に、プログラム内でWindowsコマンドを使うと以下のエラーが発生する場合があります。
これの回避方法としても読んでいただければと思います。
[Error] ERROR: Test-NetConnection : The term 'Test-NetConnection' is not recognized as the name of a cmdlet, function, script file, or operable program.
FunctionsでPowerShellを選択した際、関数アプリケーションのプログラムコードでWindowsコマンドを使える方法の一つとして、こんな方法もあるんだ!というのを紹介します。
手順(FunctionsのPowerShellでWindowsコマンドのインストール)
一例として、関数アプリケーションのプログラムコードで"Test-NetConnection コマンド"を実行する方法を取り上げます。
以下の手順を行うと "Test-NetConnection コマンド" がエラー発生することなく実行できるようになります。
(1) 該当 Functions > [開発ツール]高度なツール > 移動 にて Kudu 画面起動
(2) Kudu 画面の "d:\home\site\wwwroot" に "Modules フォルダ" を作成
(3) ご自身が使用しているローカルPCの
C:\Windows\System32\WindowsPowerShell \v1.0\Modules\NetTCPIP フォルダ
自体を(2)で作成したフォルダ内にドラッグ&ドロップで配置
(4) "Test-NetConnection コマンド" を呼び出すよう実装された該当 Functions の関数アプリケーションを実行
以上が手順になります。
参考サイト
英語ですが以下の参考サイトも読んでみてください。
Add PowerShell modules to Azure functions > Option 2: Module upload
以上です。