AzurePaaS研究サイト

~理解しずらい情報をシンプルにお伝えします~

FunctionsのPowerShellでWindowsコマンドをインストール・実行する方法

導入(FunctionsのPowerShellでWindowsコマンドを実行するとエラー)

 
Azure Functions でランタイムスタック(プログラム言語)が 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.

 
こういう場合に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

tech.nicolonsky.ch

 
以上です。
 

ご意見・ご要望はこちらへ