Summary of the new feature / enhancement
There have been a number of requests to add timeouts to various commands ( why always in seconds ? ) it would be simpler to add CancellationToken support to Common Parameters so that all commands automatically have the capability in a consistent manner.
While superficially a timeout might seem obvious and simple, a CancellationToken is far more useful and allows the client control over when the cancellation is requested, eg not just because of a timeout but because some other condition occurred after the command has been started.
Proposed technical implementation details (optional)
Proof of concept
This demonstrates a cancellation token working with Invoke-Command
Implementation - CommandWithCancellationToken.cs
Unit tests - CommandWithCancellationTokenTests.cs
Summary of the new feature / enhancement
There have been a number of requests to add timeouts to various commands ( why always in seconds ? ) it would be simpler to add CancellationToken support to Common Parameters so that all commands automatically have the capability in a consistent manner.
While superficially a timeout might seem obvious and simple, a CancellationToken is far more useful and allows the client control over when the cancellation is requested, eg not just because of a timeout but because some other condition occurred after the command has been started.
Proposed technical implementation details (optional)
Proof of concept
This demonstrates a cancellation token working with Invoke-Command
Implementation - CommandWithCancellationToken.cs
Unit tests - CommandWithCancellationTokenTests.cs