{"id":16566999,"url":"https://github.com/iricigor/easyazurefunction","last_synced_at":"2025-04-04T22:12:46.026Z","repository":{"id":109049127,"uuid":"131828247","full_name":"iricigor/EasyAzureFunction","owner":"iricigor","description":"creates local files for easy start with Azure Functions","archived":false,"fork":false,"pushed_at":"2018-06-04T21:11:39.000Z","size":1385,"stargazers_count":2,"open_issues_count":12,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T06:41:41.065Z","etag":null,"topics":["azure-functions","easy-to-use","powershell"],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iricigor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-02T09:26:20.000Z","updated_at":"2022-12-05T01:47:53.000Z","dependencies_parsed_at":"2023-07-08T12:00:26.176Z","dependency_job_id":null,"html_url":"https://github.com/iricigor/EasyAzureFunction","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iricigor%2FEasyAzureFunction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iricigor%2FEasyAzureFunction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iricigor%2FEasyAzureFunction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iricigor%2FEasyAzureFunction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iricigor","download_url":"https://codeload.github.com/iricigor/EasyAzureFunction/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256116,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-functions","easy-to-use","powershell"],"created_at":"2024-10-11T21:05:19.277Z","updated_at":"2025-04-04T22:12:46.020Z","avatar_url":"https://github.com/iricigor.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EasyAzureFunction\n\n[![Build status](https://ci.appveyor.com/api/projects/status/kkjs02jl860sx7ra?svg=true\u0026branch=master)](https://ci.appveyor.com/project/iricigor/easyazurefunction)\n[![latest version](https://img.shields.io/powershellgallery/v/EasyAzureFunction.svg?label=latest+version)](https://www.powershellgallery.com/packages/EasyAzureFunction)\n[![downloads](https://img.shields.io/powershellgallery/dt/EasyAzureFunction.svg?label=downloads)](https://www.powershellgallery.com/packages/EasyAzureFunction)\n\n## Introduction\n\nThis PowerShell module helps you to create local files for easy start with Azure Functions.\nSee **How to Use** section below for a quick start.\n\nIf you already have your Azure Function created (or you know how to do it), then just run ```New-AzFC \u003cMyCommand\u003e``` and upload generated files to your function! Simple as that!\nCommand will generate two files:\n\n- **index.html** - simple web page that enables you to enter input values for commandlet parameters (left/first page in screenshots below)\n- **run.ps1** - actual script that is executed inside of Azure Function\n  - without parameters it returns index.html\n  - with parameters, it executes specified command on web server and returns result (right/second page in screenshots below)\n\nModule is tested on both Windows PowerShell and on PowerShell Core.\n\nIf you want to learn how PowerShell Azure Function works, check auto-generated run.ps1 files under [Examples](Examples) folders.\nFor more information on getting started with Azure Functions, check [this introduction page](Examples/AzureFunctions.md).\n\n## How to install\n\nYou can install this module from PowerShell Gallery (preferred way) or by cloning GitHub repository.\nModule is tested both on Windows PowerShell and PowerShell Core.\n\n### From PSGallery\n\n```PowerShell\nFind-Module EasyAzureFunction -Repository PSGallery | Install-Module -Scope CurrentUser -Force\n```\n\n### From GitHub\n\n```PowerShell\ngit clone https://github.com/iricigor/EasyAzureFunction.git      # Clone this repository\nImport-Module .\\EasyAzureFunction\\EasyAzureFunction.psd1 -Force  # Import module\n```\n\n## How to use\n\nIn order to fully use this module, you need have Azure function and do two simple steps. Azure Function should be HTTP triggered PowerShell function. Check more info [here](Examples/AzureFunctions.md).\n\n### 1. Run command and generate files locally\n\n```PowerShell\n New-AzureFunctionCode -Command Get-Process -Path C:\\GP\n```\n\nYou can select any PowerShell command instead of Get-Process.\nYou will get two files in folder: run.ps1 and index.html.\n\n### 2. Copy generated files to your Azure function\n\nIn AzF you created, replace content of default 'run.ps1' with the one you created.\nUnder files section (far right), click on Add and create new file named 'index.html' and replace its content also.\n\nAdvanced users can do these actions also via FTP.\n\n### Published commands\n\nModule publishes two new commandlets:\n\n- [New-AzureFunctionCode](Docs/New-AzureFunctionCode.md) (alias New-AzFC) - which generates mentioned files\n- [Get-Parameter](Docs/Get-Parameter.md) - which lists all parameters for a given command or script\n\n## Examples\n\nHere are some basic examples for built in PowerShell commands. All of these links will open Azure Functions web page, so just click it and see it in action.\n\n- [Get-Command](https://ezazf.azurewebsites.net/api/GC) - type `Pester` as value for parameter `-Module`\n- [Get-Process](https://ezazf.azurewebsites.net/api/GP) - run without any parameters to see all visible processes\n- [Get-Module](https://ezazf.azurewebsites.net/api/GM) - select `-ListAvailable` and add `Pester,Dism` in Name field under it\n\nAnd here are some examples using non-Get functions\n\n- [Write-Output](https://ezazf.azurewebsites.net/api/WO) - try to create 'Hello world!' example\n- [Hello-World](https://ezazf.azurewebsites.net/api/HW) - created with -PreCode parameter, see [Examples/HW](Examples/HW) folder\n- [Set-ExecutionPolicy](https://ezazf.azurewebsites.net/api/SEP) - shows usage od drop downs in html page, also it helps to understand restrictions on Azure Function environment\n- [Lorem-Ipsum.ps1](https://ezazf.azurewebsites.net/api/LI) - this shows that module can be used also with custom script (*.ps1), see additional comments on that [commandlet parameter](Docs/New-AzureFunctionCode.md#-commandname)\n- [Invoke-Command](https://ezazf.azurewebsites.net/api/IC) - this example demonstrate usage of PSCredential objects in input web page.\n\n### Examples Screenshots\n\n![Easy Azure Function example - Get-Command -Module Pester example](Images/EzAzF-GC.png)\n![Easy Azure Function example - Get-Process](Images/EzAzF-GP.gif)\n\n## Known limitations\n\n- Generated html file only supports strings in input fields. If a command expects certain complex object (i.e. PSCredentials, PSSession, etc.), it will fail\n- Generated html does only basic parsing of arrays (split on comma), so it might not work always as expected\n\n## Thanks list\n\n- Tobias [@TobiasPSP](https://twitter.com/TobiasPSP) for great and inspiring conference [PSConfEU](http://www.psconf.eu/) 2018\n- Sergei [@xvorsx](https://twitter.com/xvorsx) for nice introduction to [PlatyPS](https://github.com/PowerShell/platyPS)\n- Jakub [@nohwnd](https://github.com/nohwnd) for great testing framework [Pester](https://github.com/pester/Pester)\n- Aleksandar [@alexandair](https://twitter.com/alexandair) - for great social component at the PSConfEU conference\n- [The PowerShell team](https://twitter.com/PowerShell_Team) *(Joey, Steve and others)* - for great product!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firicigor%2Feasyazurefunction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firicigor%2Feasyazurefunction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firicigor%2Feasyazurefunction/lists"}