
PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS.
Command-line Shell
PowerShell is a modern command shell that includes the best features of other popular shells. Unlike most shells that only accept and return text, PowerShell accepts and returns .NET objects. The shell includes the following features:
Robust command-line history
Tab completion and command prediction (See about_PSReadLine)
Supports command and parameter aliases
Pipeline for chaining commands
In-console help system, similar to Unix man pages
Scripting language
As a scripting language, PowerShell is commonly used for automating the management of systems. It is also used to build, test, and deploy solutions, often in CI/CD environments. PowerShell is built on the .NET Common Language Runtime (CLR). All inputs and outputs are .NET objects. No need to parse text output to extract information from output. The PowerShell scripting language includes the following features:
Extensible through functions, classes, scripts, and modules
Extensible formatting system for easy output
Extensible type system for creating dynamic types
Built-in support for common data formats like CSV, JSON, and XML
Automation platform
The extensible nature of PowerShell has enabled an ecosystem of PowerShell modules to deploy and manage almost any technology you work with. For example:
Microsoft
Azure
Windows
Exchange
SQL
Third-party
AWS
VMWare
Google Cloud
Configuration management
PowerShell Desired State Configuration (DSC) is a management framework in PowerShell that enables you to manage your enterprise infrastructure with configuration as code. With DSC, you can:
Create declarative configurations and custom scripts for repeatable deployments
Enforce configuration settings and report on configuration drift
Deploy configuration using push or pull models
Learn how to manage PowerShell execution policy to run scripts securely, including checking policy with Get-ExecutionPolicy, switching to remote signed, and running as administrator, with security risks explained.
Discover how PowerShell cmdlets—defined functions with a verb-noun naming scheme—use parameters to perform tasks like writing to host, setting color, and controlling output formatting.
Discover PowerShell variables by using the dollar sign to create, assign, and update values, print with Write-Host, and pass variables to commands, useful for football team stats.
Master PowerShell objects by understanding class, methods, and properties, inspect an object's properties with Select-Object, and access values like the string length from a Detroit Lions example.
Learn how to work with PowerShell arrays: initialize, access by zero-based index, loop through elements, print values, update items, and use count to determine length.
Learn how PowerShell pipelines connect commands by passing one command's output into another, demonstrated with get-process piped to export-csv to create procs.csv.
Learn how to collect user input in the console via PowerShell's read host, assign it to a variable, echo the result, and prepare for switch statements.
Explore if statements in PowerShell with else, nested ifs, and operators like greater than, less than, equal, not equal, and greater than or equal to, illustrated with Lions examples.
Master switch statements in PowerShell by creating an NFC East team selection menu. Include a default and break, and show array inputs with teams like Cowboys, Giants, and Eagles.
Learn to use for each loop to iterate over arrays and hash tables, export results to text files, and prepare football data for API requests and scraping tasks.
Explore do while and do until loops, executing code before evaluating the condition, using a counter and array iterations to illustrate practical looping strategies and when to stop.
Learn how to write effective PowerShell comments using the hash symbol, including end-of-line notes, and keep comments concise to avoid stating the obvious, while recognizing comments exist in all languages.
Set up your fantasy data account, obtain your API key, and learn to make API calls with PowerShell to access team and player data for last season.
Explore fantasy data feeds and NFL API documentation, with season and week variables, player and defense stats, ADP data, injuries, and pre game odds for insight-driven PowerShell exploration.
Fetch fantasy data with PowerShell by calling the API, using an access key in headers, and parse the active players list to reveal details like Matthew Stafford's college.
Explore how to request and inspect team data in PowerShell, retrieving 32 teams with attributes like city, name, conference, division, stadium ID, colors, and logos.
Learn to fetch football player stats by season and by week using a simple api and PowerShell. Explore defensive and offensive stats and build fantasy football comparisons.
Create a player comparison script in PowerShell that prompts for player details and season or week, fetches data from a fantasy data API, and outputs a recommended pick.
Set up a football themed data entry form by adding and configuring labels and text boxes, naming the form and labels, aligning text, and preparing for API driven results.
Add text boxes to a form with drag-and-drop, copy and paste, and name them; save and run the form while aligning elements with grid locking in PowerShell Pro Tools.
Add picture boxes to the form to display player profiles, configure image locations from the API, and prepare for API-driven image retrieval in the next lesson.
Develop button logic to fetch fantasy data via an api, set player variables, and populate labels and pictures. Compare two players across two data feeds and display a program pick.
Learn how PoshGUI.com compares to PowerShell Pro Tools for building graphical PowerShell-based applications, highlighting drag-and-drop design, easy duplication, and exporting code as PS1 or text files.
Explore essential PowerShell resources, including Microsoft Docs, Stack Overflow, YouTube, and SX 64, to troubleshoot errors and perform tasks like compressing and expanding archives.
Learning how to code can be more fun than you think! Dive in with Coach Jim Tyler to learn how to use PowerShell with fantasy football data to make cool apps.
Once we get past fundamental coding concepts such as variables, objects, arrays, conditionals, and loops, we'll dive into how to use fantasy data APIs and Windows Forms to make graphical applications.
We will also use development software including PowerShell ISE, Visual Studio Code, and PowerShell Pro Tools from IronMan Software to develop our applications and scripts, laying the perfect foundation for becoming a system administrator or software developer.
PowerShell is an ideal programming language & console to begin learning fundamental concepts on because it's included for free on Windows. Coach Jim went to great lengths to ensure this whole course could be completed without purchasing any additional software or services. PowerShell and PowerShell ISE are included on any Windows system by default. Visual Studio Code is available for free from Microsoft. FantasyData's API is available for no cost in developer mode. Lastly, PowerShell ProTools has a free trial that allows users to develop graphical PowerShell applications.
Lastly, Coach Jim provides numerous code examples available for download and that are included on the platform here on Udemy. These code examples allow learners to troubleshoot their code as they are working their way through the course.