
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
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.