1. Find cmd parameter needs to be double quoted
E.g.
PS C:\Users\Jason> echo "haha" |find "ha"
FIND: Parameter format not correct
PS C:\Users\Jason> echo "haha" |find '"ha"'
haha
2. Function returns from output
E.g.
# temp.ps1
function f()
{
echo "aa";
return "bb";
}
$result = f;
echo ("cc" + $result);
PS C:\Users\Jason\Desktop> .\temp.ps1
ccaa bb
3. Variable scope needs to be explicitly specified
E.g.
# temp.ps1
$v = "global";
function changeV1() { $v = "local-1"; }
function changeV2() { $script:v = "local-2"; }
changeV1;
echo $v;
changeV2;
echo $v;
PS C:\Users\Jason\Desktop> .\temp.ps1
global
local-2