{"id":15202981,"url":"https://github.com/sharinas/powershell-fundamentals","last_synced_at":"2026-02-02T23:53:57.060Z","repository":{"id":99274473,"uuid":"300736536","full_name":"SharinaS/PowerShell-Fundamentals","owner":"SharinaS","description":"My collection of PowerShell cheatsheets, code samples, notes and resources.","archived":false,"fork":false,"pushed_at":"2021-01-14T19:04:21.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T00:06:01.661Z","etag":null,"topics":["aws","learning-powershell","powershell","powershell-fundamentals","ps-commands","windows-powershell"],"latest_commit_sha":null,"homepage":"","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/SharinaS.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":"2020-10-02T21:09:09.000Z","updated_at":"2021-01-14T19:04:24.000Z","dependencies_parsed_at":"2023-04-04T22:37:59.179Z","dependency_job_id":null,"html_url":"https://github.com/SharinaS/PowerShell-Fundamentals","commit_stats":{"total_commits":27,"total_committers":2,"mean_commits":13.5,"dds":"0.18518518518518523","last_synced_commit":"34d60cc27b7100b1ad512deaa6c67f65406fc4a7"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SharinaS/PowerShell-Fundamentals","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SharinaS%2FPowerShell-Fundamentals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SharinaS%2FPowerShell-Fundamentals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SharinaS%2FPowerShell-Fundamentals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SharinaS%2FPowerShell-Fundamentals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SharinaS","download_url":"https://codeload.github.com/SharinaS/PowerShell-Fundamentals/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SharinaS%2FPowerShell-Fundamentals/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262685693,"owners_count":23348451,"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":["aws","learning-powershell","powershell","powershell-fundamentals","ps-commands","windows-powershell"],"created_at":"2024-09-28T04:21:17.112Z","updated_at":"2026-02-02T23:53:57.008Z","avatar_url":"https://github.com/SharinaS.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PowerShell-Fundamentals\n\nMy collection of cheatsheets, code, notes and resources created while learning PowerShell\n\n[[_TOC_]]\n\n## Index\n\n* [Accessing Data from Computer Hardware](https://github.com/SharinaS/PowerShell-Fundamentals/blob/main/data-gathering.md)\n* [Arrays](https://github.com/SharinaS/PowerShell-Fundamentals/blob/main/arrays.md)\n* [ArrayObjects](https://github.com/SharinaS/PowerShell-Fundamentals/blob/main/arrays.md)\n* [Command Syntax](#Command-Syntax)\n* [Iterate Over CSV Files](https://github.com/SharinaS/PowerShell-Fundamentals/tree/main/iterate-over-csv-files)\n* [Objects](#Objects)\n* [Positional Parameters](#Positional-Parameters)\n* [PowerShell for AWS](#PowerShell-for-AWS)\n* [Quick Command Reference](https://github.com/SharinaS/PowerShell-Fundamentals/blob/main/quick_command_reference.md)\n* [Read Files](https://github.com/SharinaS/PowerShell-Fundamentals/tree/main/read-write-files)\n* [Search For A Command to Do Something](#Search-For-A-Command-to-Do-Something)\n* [Types of PowerShell](#Types-of-PowerShell)\n\n## Types of PowerShell\n\nPowershell core – newer. Does not come with Windows by default. Can do nearly all the same stuff. Allows us to run commands on multiple platforms, unlike Powershell. Based on .netcore. Downloadable from GitHub. Can be run on Windows, Linux and MacOS. The future way of working with PS. An open source project. Only has a subset of Windows PS commands, but it’s a large subset. To open in computer, can type “pwsh\"\n\nWindows Powershell ISE – integrated scripting engine. The original built in editor for editing PS scripts. Comes installed by default.  \n\nWindows Powershell - most popular. Built into Windows. Only on windows; can’t install or run on mac or linux. Based on the .net standard, using the .net framework that PS is built on. Development has stopped for Windows Powershell (no further updates, except for security stuff). \n\n## Objects\n\nPowerShell treats all data as objects.\n\nCan be both text based and objects based.\n\nPS commands use objects as their output, which is helpful, since objects properties and methods.\n\nUsed with pipes, the object that is outputted from one command is passed to the next command.\n\n```powershell\nGet-Service|Select-Object name,starttype,servicetype|more\n```\n\n## Command Syntax\n\nVerb-Noun – all commands should be formated this way. \n\nParameters – used to pass info into the command. All prefixed with a “-”.\n\n### Positional Parameters\n\nIt expects in the first position that the \"name\" parameter will appear. This means that you can shorten commands for named parameters.\n\nInstead of:\n\n```powershell\nget-service -name p*\n```\n\nYou can simply write:\n\n```powershell\nget-service p*\n```\n\nOr, if you're also using Aliases:\n\n```powershell\ngsv p*\n```\n\n### Aliases\n\nHelpful when testing small stuff. Avoid using in your scripts.\n\n## Search For A Command to Do Something\n\nExample: Say, you're looking for runtime dynamic data, particularly a runtime performance counter.\n\nDo a general search for commands that have the word counter in them, with wildcards around the word to indicate that the word can be at the beginning, middle or end of a command.\n\n```powershell\nget-command *counter*\n```\n\ncheck help for the one that looks promising.\n\n```powershell\nhelp get-counter\n```\n\nLook at the Syntax section for flags to use.\n\nTry the main command\n\nMORE CONTENT PENDING\n\n## Loops\n\n### While Loops\n\nSee PowerShell file titled while-loops.ps1 for examples.\n\n\n## Resources\n\n* Udemy course – \"Windows PowerShell in less than 2 hours – 15 hands on demos,\" taken in October 2020.\n* [The Big Book of PowerShell Gotchas](https://devops-collective-inc.gitbook.io/the-big-book-of-powershell-gotchas/)\n* [PowerShell and while loops](https://devblogs.microsoft.com/scripting/powershell-looping-using-while/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharinas%2Fpowershell-fundamentals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsharinas%2Fpowershell-fundamentals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsharinas%2Fpowershell-fundamentals/lists"}