File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 5050 }
5151 }
5252 ExcludeRules = @ (
53+ ' PSAvoidUsingWriteHost' , # Write-Host is acceptable in guidance scripts.
5354 ' PSMissingModuleManifestField' , # This rule is not applicable until the module is built.
5455 ' PSUseToExportFieldsInManifest'
5556 )
Original file line number Diff line number Diff line change 11function Invoke-Function4 {
2+ <#
3+ . SYNOPSIS
4+ Demonstrates caller detection using Get-PSCallStack.
5+ #>
26 [CmdletBinding ()]
37 param ()
48 ' In: ' + $MyInvocation.InvocationName
711}
812
913function Invoke-Function3 {
14+ <#
15+ . SYNOPSIS
16+ Demonstrates nested caller detection at depth 3.
17+ #>
1018 [CmdletBinding ()]
1119 param ()
1220 ' In: ' + $MyInvocation.InvocationName
@@ -16,6 +24,10 @@ function Invoke-Function3 {
1624}
1725
1826function Invoke-Function2 {
27+ <#
28+ . SYNOPSIS
29+ Demonstrates nested caller detection at depth 2.
30+ #>
1931 [CmdletBinding ()]
2032 param ()
2133 ' In: ' + $MyInvocation.InvocationName
@@ -25,6 +37,10 @@ function Invoke-Function2 {
2537}
2638
2739function Invoke-Function1 {
40+ <#
41+ . SYNOPSIS
42+ Entry point demonstrating caller detection through the call stack.
43+ #>
2844 [CmdletBinding ()]
2945 param ()
3046 ' In: ' + $MyInvocation.InvocationName
Original file line number Diff line number Diff line change @@ -9,6 +9,10 @@ $RepeatCount = 10000
99
1010' Wrapped in a function = {0}ms' -f (Measure-Command - Expression {
1111 function Get-RandNum_Core {
12+ <#
13+ . SYNOPSIS
14+ Gets a random number using a shared Random instance.
15+ #>
1216 param ($ranGen )
1317 $ranGen.Next ()
1418 }
@@ -20,6 +24,10 @@ $RepeatCount = 10000
2024
2125' For-loop in a function = {0}ms' -f (Measure-Command - Expression {
2226 function Get-RandNum_All {
27+ <#
28+ . SYNOPSIS
29+ Gets random numbers in a loop using a shared Random instance.
30+ #>
2331 param ($ranGen )
2432 for ($i = 0 ; $i -lt $RepeatCount ; $i ++ ) {
2533 $Null = $ranGen.Next ()
Original file line number Diff line number Diff line change 11function Invoke-Function4 {
2+ <#
3+ . SYNOPSIS
4+ Demonstrates Get-PSCallStack at the deepest call level.
5+ #>
26 [CmdletBinding ()]
37 param ()
48 ' In: ' + $MyInvocation.InvocationName
59 Get-PSCallStack
610}
711
812function Invoke-Function3 {
13+ <#
14+ . SYNOPSIS
15+ Demonstrates Get-PSCallStack at call depth 3.
16+ #>
917 [CmdletBinding ()]
1018 param ()
1119 ' In: ' + $MyInvocation.InvocationName
@@ -14,6 +22,10 @@ function Invoke-Function3 {
1422}
1523
1624function Invoke-Function2 {
25+ <#
26+ . SYNOPSIS
27+ Demonstrates Get-PSCallStack at call depth 2.
28+ #>
1729 [CmdletBinding ()]
1830 param ()
1931 ' In: ' + $MyInvocation.InvocationName
@@ -22,6 +34,10 @@ function Invoke-Function2 {
2234}
2335
2436function Invoke-Function1 {
37+ <#
38+ . SYNOPSIS
39+ Entry point demonstrating Get-PSCallStack through nested calls.
40+ #>
2541 [CmdletBinding ()]
2642 param ()
2743 " In: " + $MyInvocation.InvocationName
Original file line number Diff line number Diff line change 11function Invoke-Function4 {
2+ <#
3+ . SYNOPSIS
4+ Demonstrates PSCmdlet variable at the deepest call level.
5+ #>
26 [CmdletBinding ()]
37 param ()
48 ' 4: ' + $MyInvocation.InvocationName
59 $PSCmdlet | ConvertTo-Json
610}
711
812function Invoke-Function3 {
13+ <#
14+ . SYNOPSIS
15+ Demonstrates PSCmdlet variable at call depth 3.
16+ #>
917 [CmdletBinding ()]
1018 param ()
1119 ' 3: ' + $MyInvocation.InvocationName
@@ -14,6 +22,10 @@ function Invoke-Function3 {
1422}
1523
1624function Invoke-Function2 {
25+ <#
26+ . SYNOPSIS
27+ Demonstrates PSCmdlet variable at call depth 2.
28+ #>
1729 [CmdletBinding ()]
1830 param ()
1931 ' 2: ' + $MyInvocation.InvocationName
@@ -22,6 +34,10 @@ function Invoke-Function2 {
2234}
2335
2436function Invoke-Function1 {
37+ <#
38+ . SYNOPSIS
39+ Entry point demonstrating PSCmdlet variable through nested calls.
40+ #>
2541 [CmdletBinding ()]
2642 param ()
2743 ' 1: ' + $MyInvocation.InvocationName
Original file line number Diff line number Diff line change 11function Set-DefaultParameterValue {
2- [CmdletBinding ()]
2+ <#
3+ . SYNOPSIS
4+ Sets a default parameter value with a simulated delay.
5+
6+ . PARAMETER Parameter
7+ The parameter value to set.
8+ #>
9+ [CmdletBinding (SupportsShouldProcess )]
10+ [OutputType ([string ])]
311 param (
412 [string ]$Parameter = ' Default-Parameter'
513 )
917}
1018
1119function Step-One {
20+ <#
21+ . SYNOPSIS
22+ First pipeline step that multiplies input by 10.
23+
24+ . PARAMETER InputNumber
25+ The number to process.
26+
27+ . PARAMETER Parameter
28+ Optional parameter with a default value.
29+ #>
1230 [CmdletBinding ()]
1331 param (
1432 [Parameter (ValueFromPipeline = $true )]
@@ -38,6 +56,16 @@ function Step-One {
3856}
3957
4058function Step-Two {
59+ <#
60+ . SYNOPSIS
61+ Second pipeline step that adds 5 to input.
62+
63+ . PARAMETER InputNumber
64+ The number to process.
65+
66+ . PARAMETER Parameter
67+ Optional parameter with a default value.
68+ #>
4169 [CmdletBinding ()]
4270 param (
4371 [Parameter (ValueFromPipeline = $true )]
@@ -66,6 +94,16 @@ function Step-Two {
6694}
6795
6896function Step-Three {
97+ <#
98+ . SYNOPSIS
99+ Third pipeline step that subtracts 2 from input.
100+
101+ . PARAMETER InputNumber
102+ The number to process.
103+
104+ . PARAMETER Parameter
105+ Optional parameter with a default value.
106+ #>
69107 [CmdletBinding ()]
70108 param (
71109 [Parameter (ValueFromPipeline = $true )]
Original file line number Diff line number Diff line change 11# Function to simulate processing each line
22function Test-LineProcessing {
3+ <#
4+ . SYNOPSIS
5+ Simulates processing a single line of text.
6+
7+ . DESCRIPTION
8+ Returns whether the input text has a length greater than zero.
9+
10+ . PARAMETER InputText
11+ The text line to process.
12+ #>
313 param ([string ]$InputText )
414 # Simulate some work by creating a simple string operation
515 $InputText.Length > 0
You can’t perform that action at this time.
0 commit comments