Reader small image

You're reading from  Mastering Windows PowerShell Scripting (Second Edition) - Second Edition

Product typeBook
Published inOct 2017
PublisherPackt
ISBN-139781787126305
Edition2nd Edition
Right arrow
Author (1)
 Brenton J.W. Blawat
Brenton J.W. Blawat
author image
Brenton J.W. Blawat

Brenton Blawat has been a successful entrepreneur, strategic technical advisor, and engineer who has a passion for the procurement of technology in organizations. He is business-centric, while being technology-minded, and has had many years of experience bridging the gap between technical staff and decision makers in organizations. Brenton prides himself on his ability to effectively communicate to a diverse audience and provide strategic direction for small and large organizations alike. Throughout his career, he has worked for a multitude of Fortune 500 organizations, and specializes in delivery automation and workflow optimizations.
Read more about Brenton J.W. Blawat

Right arrow

Static analysis


Static analysis is the process of evaluating code without executing it. Static analysis in PowerShell makes use of an Abstract Syntax Tree (AST): a tree-like representation of a block of code.

Abstract syntax tree

The AST in PowerShell is available for any script block, for example:

{ Write-Host 'content' }.Ast

The script block that defines a function can be retrieved via Get-Command:

function Write-Content { Write-Host 'content' } 
(Get-Command Write-Content).ScriptBlock

Or the script block defining a function can be retrieved using Get-Item:

function Write-Content { Write-Host 'content' } 
(Get-Item function:\Write-Content).ScriptBlock

It is possible to work down through the content of the script block using AST. For example, the first argument for the command Write-Host might be accessed:

{ Write-Host 'content' }.Ast. 
                         Endblock. 
                         Statements. 
                         PipelineElements. 
                         CommandElements[1...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Mastering Windows PowerShell Scripting (Second Edition) - Second Edition
Published in: Oct 2017Publisher: PacktISBN-13: 9781787126305

Author (1)

author image
Brenton J.W. Blawat

Brenton Blawat has been a successful entrepreneur, strategic technical advisor, and engineer who has a passion for the procurement of technology in organizations. He is business-centric, while being technology-minded, and has had many years of experience bridging the gap between technical staff and decision makers in organizations. Brenton prides himself on his ability to effectively communicate to a diverse audience and provide strategic direction for small and large organizations alike. Throughout his career, he has worked for a multitude of Fortune 500 organizations, and specializes in delivery automation and workflow optimizations.
Read more about Brenton J.W. Blawat