Обычно сценарий «разбивается на точки» по области действия (глобальный, другой сценарий, внутри блока сценария). Помещение сценария точками приведет к загрузке и выполнению сценария в этой области без создания новой вложенной области. С функциями это имеет то преимущество, что они остаются после выполнения сценария. Вы можете сделать то, что предлагает Томер, за исключением того, что вам нужно будет расставить точки скрипта, например:
powershell -command "& { . <path>\script1.ps1; My-Func }"
Если вы просто хотите выполнить функцию из текущего сеанса PowerShell, сделайте следующее:
. .\script.ps1
My-Func
Просто имейте в виду, что любой скрипт не в функции будут выполнены, и любые переменные скрипта станут глобальными переменными.
Возможно, что-то вроде
powershell -command "& { script1.ps; My-Func }"