Azure Functions创建时无PowerShell选项,如何创建PowerShell函数?
不用转语言!教你找到Azure Functions的PowerShell选项
别担心,你完全没必要把PowerShell脚本转换成其他语言!看不到PowerShell选项只是因为它属于Azure Functions的隔离进程模型,而默认创建流程展示的是进程内模型的语言(就是你看到的C#、F#、JavaScript),调整几个设置就能搞定,我给你分场景说清楚:
在Azure Portal直接创建的步骤
当你走到「运行时堆栈」这一步时,别着急选语言,按下面的顺序来:
- 先把运行时堆栈选为
.NET(因为PowerShell Isolated是基于.NET隔离运行时的) - 选择对应的.NET版本(建议选最新的长期支持版,比如.NET 8)
- 展开「更多设置」,找到工作进程类型,选择「隔离」
- 这时候再看语言选项,PowerShell就会出现了!
本地开发后部署(更推荐,灵活度更高)
如果习惯本地写脚本再部署,用VS Code配合Azure Functions扩展超方便:
- 打开VS Code的命令面板(Ctrl+Shift+P),输入
Azure Functions: Create New Project - 选好本地存放项目的文件夹后,在「选择语言」里直接就能看到
PowerShell选项 - 接着选你需要的触发器类型(比如HTTP触发、定时触发),跟着提示完成项目创建
- 本地调试没问题后,直接通过VS Code的Azure扩展一键部署到Azure
几个要注意的小细节
- 别选「进程内」模型:这个模型只支持C#和F#,PowerShell只能用隔离进程模型
- 版本要兼容:确保选的.NET版本和PowerShell版本匹配(比如.NET 8对应PowerShell 7.4及以上)
- 脚本不用大改:直接把你的PowerShell逻辑套进Azure Functions的模板里就行,比如HTTP触发的函数会自带
$Request和$Response变量,定时触发的话直接写执行逻辑就好
内容的提问来源于stack exchange,提问作者AllramEst
相关产品推荐
相关产品推荐

