Úgy látszik, szűkösen állunk írásjelekkel, mert a (.)-nak van egy másik jelentése. Amikor egytagú operátorként használjuk, akkor végrehajtási operátor a funkciója, azaz az operandusát végrehajtandó kódként tekinti és végrehajtja azt:
[55] PS I:\>$a= {get-date}
[56] PS I:\>.$a
2008. március 14. 14:11:14
[57] PS C:\> $a= "get-date"
[58] PS C:\> .$a
2008. március 14. 14:12:21
A (.)-hoz hasonlóan az (&) jel is végrehajt:
[59] PS C:\scripts> &$a
2008. március 14. 14:13:51
Természetesen a (.) és a (&), mint végrehajtási operátor paraméterként valamilyen futtatható objektumot várnak: cmdletet, függvényt, szkriptet vagy szkriptblokkot. Akármilyen, számunkra futtathatónak tűnő sztring nem jó nekik:
[60] PS I:\>$a = "(1+2)"
[61] PS I:\>.$a
The term '(1+2)' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
At line:1 char:2
+ .$ <<<< a
Ha mégis ilyen sztringet akarunk végrehajtatni, akkor van szerencsére erre egy PowerShell cmdletünk, az Invoke-Expression :
[62] PS I:\>Invoke-Expression "1+2"
3
Van egy másik végrehajtó cmdlet, invoke-item :
[63] PS C:\> Invoke-Item C:\munka\szöveg.txt
Ennek paramétereként egy olyan fájlt kell megadni, amelyikhez tartozik hozzárendelt alkalmazás, és a futtatásának hatására elindítja az alkalmazást és betölteti vele a fájlt. Gyakorlatilag ugyanazt csinálja, mintha egérrel duplán kattintanánk a fájlon. Az invoke-expression is megteszi ezt, viszont a [62]-ben látott példa is mutatja, hogy ennél ez többet is tud, így bizonyos esetekben biztonságosabb az Invoke-Item használata.