Call a function in another script when executing using 'Run With PowerShell'
In your worker file, dot-source the library file, this will load all content (functions, variables, etc) to the global scope, and then you'll be able to call functions from the library file.
=================== Worker file ==========================
# dot-source library script
# notice that you need to have a space
# between the dot and the path of the script
. c:\library.ps1
ShowMessage -AValue Hello
=================== End Worker file ======================
In the worker file change to this:
. "c:\scratch\b.ps1"
ShowMessage "Hello"
As @RoiDanton mentioned below:
Attention when using relative pathing: Don't forget to prepend a dot before the path . ".\b.ps1".
The first dot is an operator used to modify the scope and in that context it has nothing to do with paths. See Dot Source Notation.