What you will learn in Learn PowerShell Scripting in a Month of Lunches, Second Edition: Write and organize scripts and tools
Write and organize scripts and tools
Chapter by chapter
Concepts explained in this book
- PowerShellWindows PowerShell is the Windows-only edition of Microsoft's PowerShell command shell and scripting environment.
- toolA tool is a reusable, self-contained unit that performs a focused task and can be composed with other tools.
- toolmakingToolmaking is an approach to PowerShell development that creates small, reusable, self-contained, context-independent tools that can be composed with other tools.
- moduleA PowerShell module is a package that groups commands, functions, variables, and related resources for reuse.
- parameter bindingParameter binding is the process by which PowerShell maps supplied values or pipeline objects to a command's parameters.
- gitGit is a distributed version-control system for tracking and managing changes to files and coordinating work on software projects.
- functionA function is a named, reusable block of PowerShell instructions that can be invoked as part of a script.
- exceptionAn exception is an abnormal runtime condition represented by the execution environment that can interrupt or alter normal program flow.
- PowerShell commandA PowerShell command is an executable unit that performs an operation and can be composed with other PowerShell commands.
- PowerShell execution policyA PowerShell execution policy is a control that restricts whether PowerShell scripts are permitted to run.
- PowerShell scriptA PowerShell script is a text-file program containing a structured sequence of PowerShell commands and instructions, commonly using the .ps1 filename extension.
- pipeline parameter binding bypropertynameParameter binding by property name is a PowerShell parameter-binding mode that passes an input object's property value to a command parameter with the same name.
- script blockA script block is a grouped sequence of PowerShell statements enclosed in braces that can be executed as a unit.
- databaseA database is an organized repository that persistently stores data and supports structured access and management.
- test-driven developmentTest-driven development is a software-development practice in which automated tests are written before the implementation they specify.
- pesterPester is a PowerShell testing framework for authoring and running automated tests of commands, scripts, and functions.
- conditional logicAn if construct conditionally executes a block when its Boolean condition is true.
- CmdletBinding attributeThe CmdletBinding attribute is a PowerShell function attribute that enables cmdlet-like features, including common parameters and advanced parameter behavior.
- connection stringA connection string is a formatted set of information that identifies a data source and specifies connection and authentication settings.
- pipeline inputPipeline input is data supplied to a PowerShell command by a preceding pipeline command.
- format fileA formatting view file is a PowerShell configuration file that defines how objects are displayed in formatted output.
- formattingA formatting system is the subsystem that applies display rules to structured data and generates instructions for rendering it.
- information streamThe information stream is a PowerShell output stream for informational messages intended for display or related handling.
- classA class is a .NET type that defines the members and behavior of objects or provides class-level functionality.
- approved verbAn approved verb is a verb recognized by PowerShell's command-naming conventions for describing a command's operation.
- MapA hash table is a key-value data structure that associates unique keys with corresponding values.
- command discoveryA command-discovery process is a systematic method for finding the commands required to perform an automation task.
- format-listFormat-List is a PowerShell cmdlet that formats object properties as a vertical list for display.
- expressionAn expression is a PowerShell combination of values, variables, operators, and syntax that evaluates to a result such as True or False.
- SQL ServerSQL Server is Microsoft's relational database management system for storing, querying, and managing structured data.
- PowerShell wayThe PowerShell way is an idiomatic approach to writing scripts that follows PowerShell’s native capabilities and community conventions.
- columnA column is a table field that defines one attribute of each record and holds values of a corresponding type.
- recordA row is a table record containing values for the table's columns.
- runtime logic errorA logic bug is a defect in which a program's operations produce an unintended result because a value, property, or variable differs from the programmer's assumption.
- viewA view name is the identifier assigned to a formatting view within a type-specific view set.
- advanced functionAn advanced function is a PowerShell function enhanced with cmdlet-like behavior through features such as common parameters, pipeline input, validation, and confirmation support.
- .NET Framework.NET Framework is Microsoft's software framework and runtime library for building and running Windows applications.
- self-signed certificateA self-signed certificate is a digital certificate signed by its own subject rather than by an independent certificate authority.
- cmdletA cmdlet is a specialized PowerShell command implemented as a .NET class for performing a focused operation.
- positional parameterPositional parameter binding assigns arguments to command parameters according to their declared positions.
- terminating exceptionA terminating exception is a runtime failure that stops the current operation and transfers control to exception-handling code.
- try-catch statementA try/catch construct is a PowerShell exception-handling structure that executes a try block and handles matching exceptions in catch blocks.
- Trace-CommandTrace-Command is a PowerShell cmdlet that traces and displays diagnostic information about command execution and internal operations.
- Common Information ModelThe Common Information Model is an industry standard object-oriented model for representing and managing information about systems and resources.
- code signingA signed script is a script containing a verifiable digital signature that identifies its signer and reveals subsequent content changes.
- repositoryA repository is a structured storage location containing a project's files and their associated version-control history.
- Write-InformationWrite-Information is a PowerShell cmdlet that writes messages to the information stream.
- SQLA query is a specification of database operations or data selection expressed for execution by a database system.
- breakpointA breakpoint is a debugger control point at which script execution pauses so the current state can be examined or execution can be stepped or resumed.
- comment-based helpComment-based help is a documentation convention in which specially formatted source-code comments provide help content for a PowerShell command or script.
- aliasAn alias is an alternate name that invokes a PowerShell command.
- Write-HostWrite-Host is a PowerShell cmdlet that writes content directly to the host interface and, in PowerShell v5 and later, also routes it through the information stream.
- versioningSource control is a system and practice for tracking, managing, and coordinating changes to files such as source code.
- InputObject parameterThe InputObject parameter is a command parameter that accepts an input object, including values received from a pipeline.
- test environmentA test environment is an isolated computing context for experimenting with and evaluating software or commands without affecting production systems.
- Visual Studio CodeVisual Studio Code is a free, cross-platform source-code editor from Microsoft that supports extensions for many languages and development environments.
- certification authorityA certificate authority is a trusted entity that issues and signs digital certificates after validating certificate requests.
- code-signing certificateA code-signing certificate is a digital certificate used to create and verify signatures on software or scripts.
- Get-ExecutionPolicyGet-ExecutionPolicy is a PowerShell cmdlet that retrieves the effective execution policy.
- namespaceA namespace is a naming scope that groups related types and helps keep their identifiers distinct from types in other scopes.
- -ErrorActionErrorAction is a PowerShell common parameter that controls how a command or function responds to errors.
- table viewA table view is a formatting configuration that displays object properties in tabular columns.
- parameter splattingSplatting is a PowerShell technique that supplies a collection of parameter names and values to a command as invocation arguments.
- AutomatedLabAutomatedLab is a free, open-source PowerShell-based framework for deploying and configuring virtualized lab environments.
- Import-ModuleImport-Module is a PowerShell cmdlet that loads a module and its exported commands into a session.
- PSModulePath environment variableThe PSModulePath environment variable contains the directories that PowerShell searches for modules.
- verb-noun naming formatA verb-noun pattern is a command-naming convention that combines an approved action verb with a descriptive noun.
- object typeAn object type is the runtime type classification that identifies the structure and behavior of an object.
- resource tagA tag is a label attached to an informational message or software artifact for classification and filtering.
- monolithic scriptA monolithic script is a single script that combines many distinct operational responsibilities and functionality.
- digital signatureA digital signature is cryptographic metadata attached to a file that authenticates its signer and detects changes to the signed content.
- PowerShell help systemThe PowerShell help system is the built-in documentation facility for learning about commands, language constructs, and other PowerShell features.
- collectionA collection is a group of objects treated as a single set of values for operations such as membership testing.
- elif clauseAn ElseIf clause is a conditional branch in an If construct that has its own expression and script block and is considered when earlier conditions are false.
- PlatyPSPlatyPS is an open-source PowerShell tool that generates and maintains external help documentation from Markdown and code metadata.
- wrapperA wrapper is a software layer that presents an existing component or interface through a different, usually simpler interface.
- versionA script version is a release identifier recorded in a script's metadata to distinguish one published revision from another.
- PowerShell extensionThe PowerShell extension is a Visual Studio Code extension that provides PowerShell language support and development features.
- syntax errorA syntax bug is a defect caused by source code that violates the grammatical rules of its programming language.
- InformationActionInformationAction is a PowerShell common parameter that controls information-stream output behavior.
- InformationVariableInformationVariable is a PowerShell common parameter that specifies a variable for capturing information-stream output.
- git clonegit clone is a Git command that creates a local repository by copying an existing repository and its history.
- git fetchgit fetch is a Git command that retrieves changes from a remote repository without applying them to the current working tree.
- git pullgit pull is a Git command that retrieves changes from a remote repository and integrates them into the current local branch.
- git pushgit push is a Git command that transfers committed local changes to a remote repository.
- GitHubGitHub is an online platform for hosting, sharing, and collaboratively managing software repositories.
- action toolAn action tool is a tool that accepts input and performs an operation or change.
- input toolAn input tool is a tool designed to create data primarily consumed by other tools.
- output toolAn output tool is a tool that renders or exports data for a specific presentation or storage purpose.
- allsignedThe AllSigned execution policy is a PowerShell policy setting that permits only scripts signed by a trusted publisher to run.
- custom type nameA custom type name is an application-defined identifier assigned to an object type and structured to avoid collisions with existing framework types.
- module-level variableA module-level variable is a variable declared in a PowerShell module outside functions and shared by code in that module.
- System.Data.SqlClient.SqlCommandSystem.Data.SqlClient.SqlCommand is a .NET class that represents a SQL statement or command executed through a database connection.
- CIM classA CIM class is a Common Information Model schema type that describes a category of managed resources through defined properties and relationships.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.
