# encoding: ascii
# api: powershell
# title: Invoke-ComplexScript.ps1
# description: From Windows PowerShell Cookbook (O’Reilly) by Lee Holmes
# version: 0.1
# type: script
# author: Lee Holmes
# license: CC0
# x-poshcode-id: 2178
# x-archived: 2016-03-18T21:11:36
# x-published: 2011-09-09T21:41:00
#
#
#############################################################################
##
## Invoke-ComplexScript
##
## From Windows PowerShell Cookbook (O'Reilly)
## by Lee Holmes (http://www.leeholmes.com/guide)
##
##############################################################################
<#
.SYNOPSIS
Demonstrates the functionality of PowerShell's debugging support.
#>
Set-StrictMode -Version Latest
Write-Host "Calculating lots of complex information"
$runningTotal = 0
$runningTotal += [Math]::Pow(5 * 5 + 10, 2)
Write-Debug "Current value: $runningTotal"
Set-PsDebug -Trace 1
$dirCount = @(Get-ChildItem $env:WINDIR).Count
Set-PsDebug -Trace 2
$runningTotal -= 10
$runningTotal /= 2
Set-PsDebug -Step
$runningTotal *= 3
$runningTotal /= 2
$host.EnterNestedPrompt()
Set-PsDebug -off