$BizTalkHelper = "d:\Scripts\BizTalkHelper.ps1"
.$BizTalkHelper # "dot source" the helper library.
Write-Host *** BEGIN ***
Write-Host $(Get-Date) " Desc:" {GetHostStateDesc 1 }
Write-Host $(Get-Date) " Desc:" GetHostStateDesc 2
$result = GetHostStateDesc 1
Write-Host $result
My functions prints "hello", in addition to a switch statement to translate 1 to 'Stopped', 2 to 'Start Pending', 4 to 'Running', etc... So I know it's not getting called in the first two cases.
Results:
*** BEGIN ***
3/29/2013 11:03:34 AM Desc: GetHostStateDesc 1
3/29/2013 11:03:34 AM Desc: GetHostStateDesc 2
hello
Function GetHostStateDesc 1
Stopped
A function in PowerShell is declared with the function keyword followed by the function name and then an open and closing curly brace. The code that the function will execute is contained within those curly braces.
How to call a function: The inline approach. The easiest way to work with a PowerShell function is to include it in the script. The term for this is an inline function. Wherever the code is for the function, it must go above the first line that calls the function.
Starting in Windows PowerShell 5.0, Write-Host is a wrapper for Write-Information This allows you to use Write-Host to emit output to the information stream. This enables the capture or suppression of data written using Write-Host while preserving backwards compatibility.
Try this:
function SayHello {'Hello'}
write-host $(SayHello)
This prints:
Hello
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With