A cmdlet is a lightweight command that is used in the Windows PowerShell environment. The Windows PowerShell runtime invokes these cmdlets within the context of automation scripts that are provided at the command line. The Windows PowerShell runtime also invokes them programmatically through Windows PowerShell APIs.
They basically accept input via parameters, perform the operation, and then output the results.
Cmdlets differ from commands in a command-shell environment in the following ways:
- Cmdlets are instances of .NET Framework classes; they are not standalone executables.
- Cmdlets can be created from as few as a dozen lines of code.
- Cmdlets do not generally do their own parsing, error presentation, or output formatting and these operations are normally handled by the Windows PowerShell runtime.
- Cmdlets process input objects from the pipeline rather than from streams of text, and typically deliver objects as output to the pipeline.
- Cmdlets are record-oriented because they process a single object at a time.