{"id":13680182,"url":"https://github.com/dan-osull/PowerShell-Script-Menu-Gui","last_synced_at":"2025-04-29T23:30:52.398Z","repository":{"id":50382929,"uuid":"213694623","full_name":"dan-osull/PowerShell-Script-Menu-Gui","owner":"dan-osull","description":"Make a graphical menu of PowerShell scripts with a CSV file. Easy to customise and fast to launch.","archived":false,"fork":false,"pushed_at":"2021-05-11T00:46:00.000Z","size":21550,"stargazers_count":225,"open_issues_count":3,"forks_count":30,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-11-11T23:37:16.655Z","etag":null,"topics":["gui","menu","powershell","windows"],"latest_commit_sha":null,"homepage":"https://blog.osull.com/2019/11/06/tutorial-use-a-csv-file-to-make-a-graphical-menu-of-powershell-scripts/","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dan-osull.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-08T16:24:58.000Z","updated_at":"2024-11-06T13:37:02.000Z","dependencies_parsed_at":"2022-09-24T20:22:13.449Z","dependency_job_id":null,"html_url":"https://github.com/dan-osull/PowerShell-Script-Menu-Gui","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/dan-osull%2FPowerShell-Script-Menu-Gui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-osull%2FPowerShell-Script-Menu-Gui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-osull%2FPowerShell-Script-Menu-Gui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-osull%2FPowerShell-Script-Menu-Gui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dan-osull","download_url":"https://codeload.github.com/dan-osull/PowerShell-Script-Menu-Gui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251599772,"owners_count":21615578,"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":["gui","menu","powershell","windows"],"created_at":"2024-08-02T13:01:13.979Z","updated_at":"2025-04-29T23:30:47.579Z","avatar_url":"https://github.com/dan-osull.png","language":"PowerShell","readme":"# PSScriptMenuGui\n\n[![PSGallery Version](https://img.shields.io/powershellgallery/v/PSScriptMenuGui.png?style=for-the-badge\u0026logo=powershell\u0026label=PowerShell%20Gallery)](https://www.powershellgallery.com/packages/PSScriptMenuGui/) [![PSGallery Downloads](https://img.shields.io/powershellgallery/dt/PSScriptMenuGui.png?style=for-the-badge\u0026label=Downloads)](https://www.powershellgallery.com/packages/PSScriptMenuGui/) [![PSGallery Platform](https://img.shields.io/powershellgallery/p/PSScriptMenuGui.png?style=for-the-badge\u0026label=Platform)](https://www.powershellgallery.com/packages/PSScriptMenuGui/)\n\nDo you have favourite scripts that go forgotten?\n\nDoes your organisation have scripts that would be useful to frontline staff who are not comfortable with the command line?\n\nThis module uses a CSV file to make a graphical menu of PowerShell scripts.\n\nIt's easy to customise and fast to launch.\n\nYou can also add Windows programs and files to the menu.\n\nJust a few minutes to setup and - *click! click!* - you're away!\n\n![](demo.gif)\n\n## Try it out\n\n### Tutorial\n\nLooking for a step-by-step introduction? [**See this blog post.**](https://blog.osull.com/2019/11/06/tutorial-use-a-csv-file-to-make-a-graphical-menu-of-powershell-scripts/)\n\n### Install from the PowerShell Gallery\n\n    Install-Module PSScriptMenuGui -Scope CurrentUser\n    New-ScriptMenuGuiExample\n    cd PSScriptMenuGui_example\n    .\\PSScriptMenuGui.ps1\n\n### Clone from GitHub\n\n    git clone https://github.com/weebsnore/PowerShell-Script-Menu-Gui\n    cd PowerShell-Script-Menu-Gui\\PSScriptMenuGui\\examples\n    .\\PSScriptMenuGui.ps1\n\n## Problems and feedback\n\nHow are you finding the module? Is it useful? *(Please share a screenshot!)*\n\nAre you stuck? Do you want a feature?\n\nPlease [open a GitHub issue](https://github.com/weebsnore/PowerShell-Script-Menu-Gui/issues) or get in touch.\n\n[@dan_osull.com](https://twitter.com/dan_osull_com/) *- follow me for updates!*  \nhttps://blog.osull.com  \npowershell@osull.com\n\n## Compatibility\n\nTested with **PowerShell 5.1 x64** and **PowerShell 7 x64** on Windows 10.\n\n## Basic usage\n\n    Show-ScriptMenuGui -csvPath '.\\example_data.csv' -Verbose\n\n## Show-ScriptMenuGui options\n\nParameter | What is it?\n:--- |:---\n`-csvPath` | Path to CSV file that defines the menu. See [CSV reference](#csv-reference), below.\n`-windowTitle` *(optional)* | Custom title for the menu window\n`-buttonForegroundColor` *(optional)* | Custom button foreground (text) color. Hex codes (e.g. `#C00077`) and color names (e.g. `Azure`) are valid. See [.NET Color Class](https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.colors).\n`-buttonBackgroundColor` *(optional)* | Custom button background color\n`-iconPath` *(optional)* | Path to .ico file for use in menu\n`-hideConsole` *(optional)* | Hide the PowerShell console that the menu is called from. **Note:** This means you won't be able to see any errors from button clicks. If things aren't working, this should be the first thing you stop using.\n`-noExit` *(optional)* | Start all PowerShell instances with `-NoExit` *(\"Does not exit after running startup commands.\")*. **Note:** You can set `-NoExit` on individual menu items by using the *Arguments* column. See [CSV reference](#csv-reference), below.\n\nSee [`PSScriptMenuGui_all_options.ps1`](PSScriptMenuGui/examples/PSScriptMenuGui_all_options.ps1) for an example using every option.\n\n## CSV reference\n\nThis table details how to lay out the CSV file for your menu.\n\nThe top row of your CSV should contain the column headers. Each row after this defines a menu item.\n\nColumn header | What is it?\n:--- |:---\nSection *(optional)* | Text for heading\nMethod | What happens when you click the button? Valid options: `cmd` \\| `powershell_file` \\| `powershell_inline` \\| `pwsh_file` \\| `pwsh_inline`\nCommand | Path to target script/executable (`cmd` or `_file` methods) ***or*** PowerShell commands (`_inline` methods)\nArguments *(optional)* | Arguments to pass to target executable (`cmd` method) ***or*** to the PowerShell exe (other methods)\nName | Text for button\nDescription *(optional)* | Text for description \n\n### Some examples\n\nSection | Method | Command | Arguments | Name | Description\n:---|:---|:---|:---|:---|:---\nOld school | `cmd` | `taskmgr.exe` | | Example 2: cmd | External executable\nOld school | `cmd` | `notepad.exe` | `example_text_file` | Example 3: cmd | External executable with arguments\nLess old | `powershell_file` | `example_target.ps1` | | Example 4: powershell_file | .ps1 file called with powershell.exe\nLess old | `powershell_inline` | `$PSVersionTable` | `-NoExit -WindowStyle Maximized` | Example 6: powershell_inline | Additional powershell.exe arguments\nThe future | `pwsh_file` | `example_target.ps1` | | Example 7: pwsh_file | .ps1 file called with pwsh.exe\nThe future | `pwsh_inline` | `\u0026 .\\example_target.ps1 -Message \"passed in via param\"` | |Example 9: pwsh_inline | .ps1 file called with parameter\n\nSee [`example_data.csv`](PSScriptMenuGui/examples/example_data.csv) for further examples in CSV format.\n\n### Tips\n\n- Relative paths, network paths and paths in your environment should work.\n- `\u003cLineBreak /\u003e` is supported in text fields.\n- You can add multiple `_inline` commands by separating with a semi-colon (`;`)\n- Excel makes a good editor!\n- But watch out for Excel turning e.g. `-NoExit` into a formula. Best workaround is to prefix with a space.\n\n![](excel.png)\n","funding_links":[],"categories":["PowerShell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdan-osull%2FPowerShell-Script-Menu-Gui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdan-osull%2FPowerShell-Script-Menu-Gui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdan-osull%2FPowerShell-Script-Menu-Gui/lists"}