Generated by GPT-5-mini| PowerShell | |
|---|---|
![]() | |
| Name | PowerShell |
| Developer | Microsoft |
| Released | 2006 |
| Operating system | Windows; macOS; Linux |
| Programming language | C#, C++ |
| Genre | Task automation and configuration management framework |
| License | Proprietary (Windows PowerShell); MIT (PowerShell Core) |
PowerShell is a task automation and configuration management framework developed by Microsoft that combines a command-line shell, scripting language, and configuration management platform. It is used for system administration, task automation, and orchestration across server and client environments, integrating with a wide range of Microsoft products and third-party tools. Administrators and developers employ it to manage Windows Server, Active Directory, Exchange Server, and cloud services such as Microsoft Azure and Microsoft 365.
PowerShell provides a command-line environment and scripting language designed for automation of administrative tasks on Windows Server, Windows 10, Windows 11, and cross-platform hosts like Ubuntu, Red Hat Enterprise Linux, and macOS. It interoperates with management interfaces including Windows Management Instrumentation, Component Object Model, and web APIs used by Microsoft Azure and Amazon Web Services. The environment emphasizes extensibility through cmdlets, modules, providers, and remoting, enabling integration with tools such as System Center Configuration Manager, Visual Studio Code, and GitHub repositories.
PowerShell originated at Microsoft under the stewardship of lead architect Jeffrey Snover and a team within the Microsoft Windows Division as an effort to replace aging shells like Cmd.exe and to address administrative gaps exposed by complex enterprise services including Exchange Server and SQL Server. Early iterations were influenced by technologies and languages from across the industry such as Perl, Python (programming language), and Bash (Unix shell). The first released version targeted Windows Server 2003/2008-era infrastructures, with later strategic shifts toward open source and cross-platform compatibility announced alongside products and initiatives like .NET Core, GitHub acquisitions, and partnerships with the Open Source Initiative.
PowerShell's architecture centers on an object-based pipeline that passes .NET objects between commands rather than plain text, enabling rich manipulation and structured output for tools like Microsoft Excel and logging frameworks. The runtime relies on the Common Language Runtime in the .NET ecosystem, later evolving with .NET Core and .NET 5+. Core components include a command processor, engine, hosting APIs, and language parser inspired by shells and scripting languages used within projects like UNIX. Integrations include providers for Registry, Certificates, and filesystem abstractions facilitating administration of services such as IIS (Internet Information Services) and Hyper-V.
Functionality is exposed via cmdlets—specialized .NET classes that encapsulate actions used by admins of Windows Server, Exchange Server, and SharePoint—and through reusable modules distributed by teams like Microsoft Exchange Team or community publishers on PowerShell Gallery. Scripting constructs support advanced features including functions, classes, exception handling, and modules that integrate with CI/CD pipelines using tools such as Azure DevOps, Jenkins (software), and GitHub Actions. Best practices often reference guidance from organizations like National Institute of Standards and Technology when using scripts for configuration and logging in environments managed by teams overseeing Active Directory Federation Services or SQL Server Reporting Services.
PowerShell Remoting leverages protocols and technologies such as Windows Remote Management and SSH (Secure Shell) to execute commands across remote systems used in fleets running Windows Server, CentOS, and cloud instances on Microsoft Azure or Amazon EC2. Automation scenarios integrate with orchestration platforms including System Center Orchestrator and Azure Automation, while Desired State Configuration (DSC) provides a declarative model for maintaining system state in enterprise deployments like those managed by Microsoft Endpoint Configuration Manager. DSC resources and pull-server models are often used alongside configuration management tools such as Chef (software), Puppet (software), and Ansible in hybrid environments.
Windows PowerShell (legacy) was tied to the .NET Framework and shipped with certain editions of Windows Server and client releases. The later cross-platform edition, often associated with an open-source initiative hosted on GitHub, reimplemented the runtime atop .NET Core and supports Windows Server, Ubuntu, Debian, Red Hat Enterprise Linux, and macOS. Release cadence and compatibility considerations involve coordination with projects like .NET Foundation, and distribution channels include package managers such as apt (software) and Homebrew (package manager).
Security considerations encompass execution policies, script signing using X.509 certificates, constrained language modes, and integration with enterprise identity systems such as Active Directory, Azure Active Directory, and multifactor systems from vendors like Duo Security. Administrative delegation leverages role-based access and Just Enough Administration (JEA) patterns, often documented by teams such as Microsoft Security Response Center and compliance frameworks like those from National Institute of Standards and Technology. Incident response and forensics use PowerShell logging features integrated with platforms such as Microsoft Sentinel and Splunk (company), while security research from institutions like SANS Institute and commercial vendors informs defense strategies against threats exploiting scripting environments.
Category:Microsoft software Category:Shells (computing)